@@ -9,13 +9,13 @@ name: Continuous Integration
99
1010on :
1111 pull_request :
12- branches : ['**', '!update/**', '!pr/**']
12+ branches : [ '**', '!update/**', '!pr/**' ]
1313 push :
14- branches : ['**', '!update/**', '!pr/**']
15- tags : [v* ]
14+ branches : [ '**', '!update/**', '!pr/**' ]
15+ tags : [ v* ]
1616
1717env :
18- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
18+ GITHUB_TOKEN : ${{ secrets.CI_BOT_TOKEN }}
1919
2020
2121concurrency :
2727 name : Test
2828 strategy :
2929 matrix :
30- os : [ubuntu-latest]
31- scala : [3 ]
32- java : [graalvm@21]
30+ os : [ ubuntu-latest ]
31+ scala : [ 3 ]
32+ java : [ graalvm@21 ]
3333 runs-on : ${{ matrix.os }}
3434 timeout-minutes : 60
3535 steps :
5454 if : matrix.java == 'graalvm@21' && steps.setup-java-graalvm-21.outputs.cache-hit == 'false'
5555 run : sbt +update
5656
57- - name : Check that workflows are up to date
58- run : sbt githubWorkflowCheck
59-
6057 - name : Check headers and formatting
6158 if : matrix.java == 'graalvm@21' && matrix.os == 'ubuntu-latest'
6259 run : sbt '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck
@@ -89,12 +86,12 @@ jobs:
8986
9087 publish :
9188 name : Publish Artifacts
92- needs : [prepare-release]
89+ needs : [ prepare-release ]
9390 if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v'))
9491 strategy :
9592 matrix :
96- os : [ubuntu-latest]
97- java : [graalvm@21]
93+ os : [ ubuntu-latest ]
94+ java : [ graalvm@21 ]
9895 runs-on : ${{ matrix.os }}
9996 steps :
10097 - name : Checkout current branch (full)
@@ -128,37 +125,23 @@ jobs:
128125 tar xf targets.tar
129126 rm targets.tar
130127
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 }}
147134
148135 - 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
154137
155138 dependency-submission :
156139 name : Submit Dependencies
157140 if : github.event.repository.fork == false && github.event_name != 'pull_request'
158141 strategy :
159142 matrix :
160- os : [ubuntu-22.04]
161- java : [graalvm@21]
143+ os : [ ubuntu-22.04 ]
144+ java : [ graalvm@21 ]
162145 runs-on : ${{ matrix.os }}
163146 steps :
164147 - name : Checkout current branch (full)
@@ -192,8 +175,8 @@ jobs:
192175 name : Validate Steward Config
193176 strategy :
194177 matrix :
195- os : [ubuntu-22.04]
196- java : [temurin@11]
178+ os : [ ubuntu-22.04 ]
179+ java : [ temurin@11 ]
197180 runs-on : ${{ matrix.os }}
198181 steps :
199182 - name : Checkout current branch (fast)
@@ -215,13 +198,13 @@ jobs:
215198
216199 prepare-release :
217200 name : 👷 Prepare release
218- needs : [build]
201+ needs : [ build ]
219202 if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/heads/main'))
220203 strategy :
221204 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 ]
225208 runs-on : ${{ matrix.os }}
226209 permissions :
227210 actions : write
@@ -294,86 +277,3 @@ jobs:
294277 makeLatest : true
295278 allowUpdates : true
296279 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