@@ -9,13 +9,13 @@ name: Continuous Integration
9
9
10
10
on :
11
11
pull_request :
12
- branches : ['**', '!update/**', '!pr/**']
12
+ branches : [ '**', '!update/**', '!pr/**' ]
13
13
push :
14
- branches : ['**', '!update/**', '!pr/**']
15
- tags : [v* ]
14
+ branches : [ '**', '!update/**', '!pr/**' ]
15
+ tags : [ v* ]
16
16
17
17
env :
18
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
18
+ GITHUB_TOKEN : ${{ secrets.CI_BOT_TOKEN }}
19
19
20
20
21
21
concurrency :
27
27
name : Test
28
28
strategy :
29
29
matrix :
30
- os : [ubuntu-latest]
31
- scala : [3 ]
32
- java : [graalvm@21]
30
+ os : [ ubuntu-latest ]
31
+ scala : [ 3 ]
32
+ java : [ graalvm@21 ]
33
33
runs-on : ${{ matrix.os }}
34
34
timeout-minutes : 60
35
35
steps :
54
54
if : matrix.java == 'graalvm@21' && steps.setup-java-graalvm-21.outputs.cache-hit == 'false'
55
55
run : sbt +update
56
56
57
- - name : Check that workflows are up to date
58
- run : sbt githubWorkflowCheck
59
-
60
57
- name : Check headers and formatting
61
58
if : matrix.java == 'graalvm@21' && matrix.os == 'ubuntu-latest'
62
59
run : sbt '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck
@@ -89,12 +86,12 @@ jobs:
89
86
90
87
publish :
91
88
name : Publish Artifacts
92
- needs : [prepare-release]
89
+ needs : [ prepare-release ]
93
90
if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v'))
94
91
strategy :
95
92
matrix :
96
- os : [ubuntu-latest]
97
- java : [graalvm@21]
93
+ os : [ ubuntu-latest ]
94
+ java : [ graalvm@21 ]
98
95
runs-on : ${{ matrix.os }}
99
96
steps :
100
97
- name : Checkout current branch (full)
@@ -128,37 +125,23 @@ jobs:
128
125
tar xf targets.tar
129
126
rm targets.tar
130
127
131
- - name : Import signing key
132
- if : env.PGP_SECRET != '' && env.PGP_PASSPHRASE == ''
133
- env :
134
- PGP_SECRET : ${{ secrets.PGP_SECRET }}
135
- PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
136
- run : echo $PGP_SECRET | base64 -d -i - | gpg --import
137
-
138
- - name : Import signing key and strip passphrase
139
- if : env.PGP_SECRET != '' && env.PGP_PASSPHRASE != ''
140
- env :
141
- PGP_SECRET : ${{ secrets.PGP_SECRET }}
142
- PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
143
- run : |
144
- echo "$PGP_SECRET" | base64 -d -i - > /tmp/signing-key.gpg
145
- echo "$PGP_PASSPHRASE" | gpg --pinentry-mode loopback --passphrase-fd 0 --import /tmp/signing-key.gpg
146
- (echo "$PGP_PASSPHRASE"; echo; echo) | gpg --command-fd 0 --pinentry-mode loopback --change-passphrase $(gpg --list-secret-keys --with-colons 2> /dev/null | grep '^sec:' | cut --delimiter ':' --fields 5 | tail -n 1)
128
+ - name : Login to Github registry
129
+ uses : docker/login-action@v3
130
+ with :
131
+ registry : ghcr.io
132
+ username : ${{ secrets.CI_BOT_USERNAME }}
133
+ password : ${{ secrets.CI_BOT_TOKEN }}
147
134
148
135
- name : Publish
149
- env :
150
- SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
151
- SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
152
- SONATYPE_CREDENTIAL_HOST : ${{ secrets.SONATYPE_CREDENTIAL_HOST }}
153
- run : sbt tlCiRelease
136
+ run : sbt publish
154
137
155
138
dependency-submission :
156
139
name : Submit Dependencies
157
140
if : github.event.repository.fork == false && github.event_name != 'pull_request'
158
141
strategy :
159
142
matrix :
160
- os : [ubuntu-22.04]
161
- java : [graalvm@21]
143
+ os : [ ubuntu-22.04 ]
144
+ java : [ graalvm@21 ]
162
145
runs-on : ${{ matrix.os }}
163
146
steps :
164
147
- name : Checkout current branch (full)
@@ -192,8 +175,8 @@ jobs:
192
175
name : Validate Steward Config
193
176
strategy :
194
177
matrix :
195
- os : [ubuntu-22.04]
196
- java : [temurin@11]
178
+ os : [ ubuntu-22.04 ]
179
+ java : [ temurin@11 ]
197
180
runs-on : ${{ matrix.os }}
198
181
steps :
199
182
- name : Checkout current branch (fast)
@@ -215,13 +198,13 @@ jobs:
215
198
216
199
prepare-release :
217
200
name : 👷 Prepare release
218
- needs : [build]
201
+ needs : [ build ]
219
202
if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/heads/main'))
220
203
strategy :
221
204
matrix :
222
- os : [ubuntu-latest]
223
- scala : [2.13]
224
- java : [temurin@11]
205
+ os : [ ubuntu-latest ]
206
+ scala : [ 2.13 ]
207
+ java : [ temurin@11 ]
225
208
runs-on : ${{ matrix.os }}
226
209
permissions :
227
210
actions : write
@@ -294,86 +277,3 @@ jobs:
294
277
makeLatest : true
295
278
allowUpdates : true
296
279
token : ${{ github.token }}
297
-
298
- website :
299
- name : 🌐 Publish website
300
- needs : [publish]
301
- strategy :
302
- matrix :
303
- os : [ubuntu-latest]
304
- scala : [2.13]
305
- java : [temurin@11]
306
- runs-on : ${{ matrix.os }}
307
- permissions :
308
- actions : write
309
- checks : write
310
- contents : write
311
- deployments : write
312
- id-token : none
313
- issues : write
314
- packages : write
315
- pages : write
316
- pull-requests : write
317
- repository-projects : write
318
- security-events : write
319
- statuses : write
320
- env :
321
- DTC_HEADLESS : true
322
- steps :
323
- - name : Checkout current branch (fast)
324
- uses : actions/checkout@v4
325
-
326
- - name : Setup
327
- run : chmod +x dtcw
328
-
329
- - name : Setup Java (temurin@17)
330
- id : setup-java-temurin-17
331
- if : matrix.java == 'temurin@17'
332
- uses : actions/setup-java@v4
333
- with :
334
- distribution : temurin
335
- java-version : 17
336
- cache : sbt
337
-
338
- - name : sbt update
339
- if : matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false'
340
- run : sbt +update
341
-
342
- - name : Setup sbt
343
- uses : sbt/setup-sbt@v1
344
-
345
- - name : Install docToolchain
346
- run : ./dtcw local install doctoolchain
347
-
348
- - name : Cache sbt
349
- uses : actions/cache@v4
350
- with :
351
- path : |
352
- .ivy2
353
- .sbt
354
- key : sbt-${{ hashFiles('build.sbt', 'plugins.sbt') }}
355
- restore-keys : pillars-cache-${{ hashFiles('build.sbt', 'plugins.sbt') }}
356
-
357
- - name : Get latest version
358
- id : version
359
- run : |
360
- PILLARS_VERSION="$(git ls-remote --tags $REPO | awk -F"/" '{print $3}' | grep '^v[0-9]*\.[0-9]*\.[0-9]*' | grep -v '\{\}' | sort --version-sort | tail -n1)"
361
- echo "latest version is [$PILLARS_VERSION]"
362
- echo "version=${PILLARS_VERSION#v}" >> "$GITHUB_OUTPUT"
363
-
364
- - name : Generate site
365
- env :
366
- PILLARS_VERSION : ${{ steps.version.outputs.version }}
367
- DTC_HEADLESS : true
368
- run : ./dtcw local generateSite && sbt unidoc
369
-
370
- - name : Copy to public
371
- run : cp -r target/microsite/output ./public
372
-
373
- - name : Deploy to GitHub Pages
374
- uses : peaceiris/actions-gh-pages@v4
375
- with :
376
- github_token : ${{ github.token }}
377
- publish_dir : ./public
378
- cname : pillars.dev
379
- enable_jekyll : false
0 commit comments