15
15
tags : [v*]
16
16
17
17
env :
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 }}
23
18
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
24
19
20
+
21
+ concurrency :
22
+ group : ${{ github.workflow }} @ ${{ github.ref }}
23
+ cancel-in-progress : true
24
+
25
25
jobs :
26
26
build :
27
- name : Build and Test
27
+ name : Test
28
28
strategy :
29
29
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]
32
32
java : [temurin@8]
33
33
ci : [ciNode, ciFirefox, ciChrome, ciJSDOMNodeJS]
34
34
runs-on : ${{ matrix.os }}
35
+ timeout-minutes : 60
35
36
steps :
36
37
- name : Checkout current branch (full)
37
- uses : actions/checkout@v3
38
+ uses : actions/checkout@v4
38
39
with :
39
40
fetch-depth : 0
40
41
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
48
44
49
45
- name : Setup Java (temurin@8)
46
+ id : setup-java-temurin-8
50
47
if : matrix.java == 'temurin@8'
51
- uses : actions/setup-java@v3
48
+ uses : actions/setup-java@v4
52
49
with :
53
- distribution : jdkfile
50
+ distribution : temurin
54
51
java-version : 8
55
- jdkFile : ${{ steps.download-java-temurin-8.outputs.jdkFile }}
52
+ cache : sbt
56
53
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
68
57
69
58
- name : Setup NodeJS v18 LTS
70
59
if : matrix.ci == 'ciNode' || matrix.ci == 'ciJSDOMNodeJS'
@@ -88,66 +77,109 @@ jobs:
88
77
if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
89
78
strategy :
90
79
matrix :
91
- os : [ubuntu-latest ]
80
+ os : [ubuntu-22.04 ]
92
81
java : [temurin@8]
93
82
runs-on : ${{ matrix.os }}
94
83
steps :
95
84
- name : Checkout current branch (full)
96
- uses : actions/checkout@v3
85
+ uses : actions/checkout@v4
97
86
with :
98
87
fetch-depth : 0
99
88
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
107
91
108
92
- name : Setup Java (temurin@8)
93
+ id : setup-java-temurin-8
109
94
if : matrix.java == 'temurin@8'
110
- uses : actions/setup-java@v3
95
+ uses : actions/setup-java@v4
111
96
with :
112
- distribution : jdkfile
97
+ distribution : temurin
113
98
java-version : 8
114
- jdkFile : ${{ steps.download-java-temurin-8.outputs.jdkFile }}
99
+ cache : sbt
115
100
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
127
104
128
105
- name : Import signing key
129
106
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
131
111
132
112
- name : Import signing key and strip passphrase
133
113
if : env.PGP_SECRET != '' && env.PGP_PASSPHRASE != ''
114
+ env :
115
+ PGP_SECRET : ${{ secrets.PGP_SECRET }}
116
+ PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
134
117
run : |
135
- echo "$PGP_SECRET" | base64 -di > /tmp/signing-key.gpg
118
+ echo "$PGP_SECRET" | base64 -d -i - > /tmp/signing-key.gpg
136
119
echo "$PGP_PASSPHRASE" | gpg --pinentry-mode loopback --passphrase-fd 0 --import /tmp/signing-key.gpg
137
120
(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)
138
121
139
122
- name : Publish
123
+ env :
124
+ SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
125
+ SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
126
+ SONATYPE_CREDENTIAL_HOST : ${{ secrets.SONATYPE_CREDENTIAL_HOST }}
140
127
run : sbt tlCiRelease
141
128
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
+
142
165
validate-steward :
143
166
name : Validate Steward Config
144
167
strategy :
145
168
matrix :
146
- os : [ubuntu-latest]
169
+ os : [ubuntu-22.04]
170
+ java : [temurin@11]
147
171
runs-on : ${{ matrix.os }}
148
172
steps :
149
173
- 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
151
183
152
184
- uses : coursier/setup-action@v1
153
185
with :
0 commit comments