1515 tags : [v*]
1616
1717env :
18- PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
19- SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
20- SONATYPE_CREDENTIAL_HOST : ${{ secrets.SONATYPE_CREDENTIAL_HOST }}
21- SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
22- PGP_SECRET : ${{ secrets.PGP_SECRET }}
2318 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
2419
20+
21+ concurrency :
22+ group : ${{ github.workflow }} @ ${{ github.ref }}
23+ cancel-in-progress : true
24+
2525jobs :
2626 build :
27- name : Build and Test
27+ name : Test
2828 strategy :
2929 matrix :
30- os : [ubuntu-latest ]
31- scala : [2.11.12 , 2.12.16 , 2.13.7, 3.1. 3]
30+ os : [ubuntu-22.04 ]
31+ scala : [2.11, 2.12, 2.13, 3]
3232 java : [temurin@8]
3333 ci : [ciNode, ciFirefox, ciChrome, ciJSDOMNodeJS]
3434 runs-on : ${{ matrix.os }}
35+ timeout-minutes : 60
3536 steps :
3637 - name : Checkout current branch (full)
37- uses : actions/checkout@v3
38+ uses : actions/checkout@v4
3839 with :
3940 fetch-depth : 0
4041
41- - name : Download Java (temurin@8)
42- id : download-java-temurin-8
43- if : matrix.java == 'temurin@8'
44- uses : typelevel/download-java@v2
45- with :
46- distribution : temurin
47- java-version : 8
42+ - name : Setup sbt
43+ uses : sbt/setup-sbt@v1
4844
4945 - name : Setup Java (temurin@8)
46+ id : setup-java-temurin-8
5047 if : matrix.java == 'temurin@8'
51- uses : actions/setup-java@v3
48+ uses : actions/setup-java@v4
5249 with :
53- distribution : jdkfile
50+ distribution : temurin
5451 java-version : 8
55- jdkFile : ${{ steps.download-java-temurin-8.outputs.jdkFile }}
52+ cache : sbt
5653
57- - name : Cache sbt
58- uses : actions/cache@v3
59- with :
60- path : |
61- ~/.sbt
62- ~/.ivy2/cache
63- ~/.coursier/cache/v1
64- ~/.cache/coursier/v1
65- ~/AppData/Local/Coursier/Cache/v1
66- ~/Library/Caches/Coursier/v1
67- key : ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
54+ - name : sbt update
55+ if : matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
56+ run : sbt +update
6857
6958 - name : Setup NodeJS v18 LTS
7059 if : matrix.ci == 'ciNode' || matrix.ci == 'ciJSDOMNodeJS'
@@ -88,66 +77,109 @@ jobs:
8877 if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
8978 strategy :
9079 matrix :
91- os : [ubuntu-latest ]
80+ os : [ubuntu-22.04 ]
9281 java : [temurin@8]
9382 runs-on : ${{ matrix.os }}
9483 steps :
9584 - name : Checkout current branch (full)
96- uses : actions/checkout@v3
85+ uses : actions/checkout@v4
9786 with :
9887 fetch-depth : 0
9988
100- - name : Download Java (temurin@8)
101- id : download-java-temurin-8
102- if : matrix.java == 'temurin@8'
103- uses : typelevel/download-java@v2
104- with :
105- distribution : temurin
106- java-version : 8
89+ - name : Setup sbt
90+ uses : sbt/setup-sbt@v1
10791
10892 - name : Setup Java (temurin@8)
93+ id : setup-java-temurin-8
10994 if : matrix.java == 'temurin@8'
110- uses : actions/setup-java@v3
95+ uses : actions/setup-java@v4
11196 with :
112- distribution : jdkfile
97+ distribution : temurin
11398 java-version : 8
114- jdkFile : ${{ steps.download-java-temurin-8.outputs.jdkFile }}
99+ cache : sbt
115100
116- - name : Cache sbt
117- uses : actions/cache@v3
118- with :
119- path : |
120- ~/.sbt
121- ~/.ivy2/cache
122- ~/.coursier/cache/v1
123- ~/.cache/coursier/v1
124- ~/AppData/Local/Coursier/Cache/v1
125- ~/Library/Caches/Coursier/v1
126- key : ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
101+ - name : sbt update
102+ if : matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
103+ run : sbt +update
127104
128105 - name : Import signing key
129106 if : env.PGP_SECRET != '' && env.PGP_PASSPHRASE == ''
130- run : echo $PGP_SECRET | base64 -di | gpg --import
107+ env :
108+ PGP_SECRET : ${{ secrets.PGP_SECRET }}
109+ PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
110+ run : echo $PGP_SECRET | base64 -d -i - | gpg --import
131111
132112 - name : Import signing key and strip passphrase
133113 if : env.PGP_SECRET != '' && env.PGP_PASSPHRASE != ''
114+ env :
115+ PGP_SECRET : ${{ secrets.PGP_SECRET }}
116+ PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
134117 run : |
135- echo "$PGP_SECRET" | base64 -di > /tmp/signing-key.gpg
118+ echo "$PGP_SECRET" | base64 -d -i - > /tmp/signing-key.gpg
136119 echo "$PGP_PASSPHRASE" | gpg --pinentry-mode loopback --passphrase-fd 0 --import /tmp/signing-key.gpg
137120 (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)
138121
139122 - name : Publish
123+ env :
124+ SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
125+ SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
126+ SONATYPE_CREDENTIAL_HOST : ${{ secrets.SONATYPE_CREDENTIAL_HOST }}
140127 run : sbt tlCiRelease
141128
129+ dependency-submission :
130+ name : Submit Dependencies
131+ if : github.event.repository.fork == false && github.event_name != 'pull_request'
132+ strategy :
133+ matrix :
134+ os : [ubuntu-22.04]
135+ java : [temurin@8]
136+ runs-on : ${{ matrix.os }}
137+ steps :
138+ - name : Checkout current branch (full)
139+ uses : actions/checkout@v4
140+ with :
141+ fetch-depth : 0
142+
143+ - name : Setup sbt
144+ uses : sbt/setup-sbt@v1
145+
146+ - name : Setup Java (temurin@8)
147+ id : setup-java-temurin-8
148+ if : matrix.java == 'temurin@8'
149+ uses : actions/setup-java@v4
150+ with :
151+ distribution : temurin
152+ java-version : 8
153+ cache : sbt
154+
155+ - name : sbt update
156+ if : matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
157+ run : sbt +update
158+
159+ - name : Submit Dependencies
160+ uses : scalacenter/sbt-dependency-submission@v2
161+ with :
162+ modules-ignore : root_2.11 root_2.12 root_2.13 root_3 scala-js-macrotask-executor-webworker_sjs1_2.11 scala-js-macrotask-executor-webworker_sjs1_2.12 scala-js-macrotask-executor-webworker_sjs1_2.13 scala-js-macrotask-executor-webworker_sjs1_3
163+ configs-ignore : test scala-tool scala-doc-tool test-internal
164+
142165 validate-steward :
143166 name : Validate Steward Config
144167 strategy :
145168 matrix :
146- os : [ubuntu-latest]
169+ os : [ubuntu-22.04]
170+ java : [temurin@11]
147171 runs-on : ${{ matrix.os }}
148172 steps :
149173 - name : Checkout current branch (fast)
150- uses : actions/checkout@v3
174+ uses : actions/checkout@v4
175+
176+ - name : Setup Java (temurin@11)
177+ id : setup-java-temurin-11
178+ if : matrix.java == 'temurin@11'
179+ uses : actions/setup-java@v4
180+ with :
181+ distribution : temurin
182+ java-version : 11
151183
152184 - uses : coursier/setup-action@v1
153185 with :
0 commit comments