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.12.17 , 2.13.10 ]
30+ os : [ubuntu-22.04 ]
31+ scala : [2.12, 2.13]
3232 java : [temurin@8]
3333 runs-on : ${{ matrix.os }}
34+ timeout-minutes : 60
3435 steps :
3536 - name : Checkout current branch (full)
36- uses : actions/checkout@v2
37+ uses : actions/checkout@v4
3738 with :
3839 fetch-depth : 0
3940
40- - name : Download Java (temurin@8)
41- id : download-java-temurin-8
42- if : matrix.java == 'temurin@8'
43- uses : typelevel/download-java@v1
44- with :
45- distribution : temurin
46- java-version : 8
41+ - name : Setup sbt
42+ uses : sbt/setup-sbt@v1
4743
4844 - name : Setup Java (temurin@8)
45+ id : setup-java-temurin-8
4946 if : matrix.java == 'temurin@8'
50- uses : actions/setup-java@v2
47+ uses : actions/setup-java@v4
5148 with :
52- distribution : jdkfile
49+ distribution : temurin
5350 java-version : 8
54- jdkFile : ${{ steps.download-java-temurin-8.outputs.jdkFile }}
51+ cache : sbt
5552
56- - name : Cache sbt
57- uses : actions/cache@v2
58- with :
59- path : |
60- ~/.sbt
61- ~/.ivy2/cache
62- ~/.coursier/cache/v1
63- ~/.cache/coursier/v1
64- ~/AppData/Local/Coursier/Cache/v1
65- ~/Library/Caches/Coursier/v1
66- key : ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
53+ - name : sbt update
54+ if : matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
55+ run : sbt +update
6756
6857 - name : Check that workflows are up to date
6958 run : sbt githubWorkflowCheck
@@ -75,15 +64,15 @@ jobs:
7564
7665 - name : Make target directories
7766 if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
78- run : mkdir -p util/target target .rootFinagle/target scalafix/input/target effect3/target finagle/target .finagle-core/target scalafix/rules/target scalafix/tests/target benchmark /target project/target
67+ run : mkdir -p util/target effect3/target finagle/target scalafix/rules/target project/target
7968
8069 - name : Compress target directories
8170 if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
82- run : tar cf targets.tar util/target target .rootFinagle/target scalafix/input/target effect3/target finagle/target .finagle-core/target scalafix/rules/target scalafix/tests/target benchmark /target project/target
71+ run : tar cf targets.tar util/target effect3/target finagle/target scalafix/rules/target project/target
8372
8473 - name : Upload target directories
8574 if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
86- uses : actions/upload-artifact@v2
75+ uses : actions/upload-artifact@v4
8776 with :
8877 name : target-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.scala }}
8978 path : targets.tar
@@ -94,74 +83,107 @@ jobs:
9483 if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
9584 strategy :
9685 matrix :
97- os : [ubuntu-latest]
98- scala : [2.13.10]
86+ os : [ubuntu-22.04]
9987 java : [temurin@8]
10088 runs-on : ${{ matrix.os }}
10189 steps :
10290 - name : Checkout current branch (full)
103- uses : actions/checkout@v2
91+ uses : actions/checkout@v4
10492 with :
10593 fetch-depth : 0
10694
107- - name : Download Java (temurin@8)
108- id : download-java-temurin-8
109- if : matrix.java == 'temurin@8'
110- uses : typelevel/download-java@v1
111- with :
112- distribution : temurin
113- java-version : 8
95+ - name : Setup sbt
96+ uses : sbt/setup-sbt@v1
11497
11598 - name : Setup Java (temurin@8)
99+ id : setup-java-temurin-8
116100 if : matrix.java == 'temurin@8'
117- uses : actions/setup-java@v2
101+ uses : actions/setup-java@v4
118102 with :
119- distribution : jdkfile
103+ distribution : temurin
120104 java-version : 8
121- jdkFile : ${{ steps.download-java-temurin-8.outputs.jdkFile }}
105+ cache : sbt
122106
123- - name : Cache sbt
124- uses : actions/cache@v2
125- with :
126- path : |
127- ~/.sbt
128- ~/.ivy2/cache
129- ~/.coursier/cache/v1
130- ~/.cache/coursier/v1
131- ~/AppData/Local/Coursier/Cache/v1
132- ~/Library/Caches/Coursier/v1
133- key : ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
134-
135- - name : Download target directories (2.12.17)
136- uses : actions/download-artifact@v2
107+ - name : sbt update
108+ if : matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
109+ run : sbt +update
110+
111+ - name : Download target directories (2.12)
112+ uses : actions/download-artifact@v4
137113 with :
138- name : target-${{ matrix.os }}-${{ matrix.java }}-2.12.17
114+ name : target-${{ matrix.os }}-${{ matrix.java }}-2.12
139115
140- - name : Inflate target directories (2.12.17 )
116+ - name : Inflate target directories (2.12)
141117 run : |
142118 tar xf targets.tar
143119 rm targets.tar
144120
145- - name : Download target directories (2.13.10 )
146- uses : actions/download-artifact@v2
121+ - name : Download target directories (2.13)
122+ uses : actions/download-artifact@v4
147123 with :
148- name : target-${{ matrix.os }}-${{ matrix.java }}-2.13.10
124+ name : target-${{ matrix.os }}-${{ matrix.java }}-2.13
149125
150- - name : Inflate target directories (2.13.10 )
126+ - name : Inflate target directories (2.13)
151127 run : |
152128 tar xf targets.tar
153129 rm targets.tar
154130
155131 - name : Import signing key
156132 if : env.PGP_SECRET != '' && env.PGP_PASSPHRASE == ''
157- run : echo $PGP_SECRET | base64 -di | gpg --import
133+ env :
134+ PGP_SECRET : ${{ secrets.PGP_SECRET }}
135+ PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
136+ run : echo $PGP_SECRET | base64 -d -i - | gpg --import
158137
159138 - name : Import signing key and strip passphrase
160139 if : env.PGP_SECRET != '' && env.PGP_PASSPHRASE != ''
140+ env :
141+ PGP_SECRET : ${{ secrets.PGP_SECRET }}
142+ PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
161143 run : |
162- echo "$PGP_SECRET" | base64 -di > /tmp/signing-key.gpg
144+ echo "$PGP_SECRET" | base64 -d -i - > /tmp/signing-key.gpg
163145 echo "$PGP_PASSPHRASE" | gpg --pinentry-mode loopback --passphrase-fd 0 --import /tmp/signing-key.gpg
164146 (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)
165147
166148 - name : Publish
167- run : sbt '++ ${{ matrix.scala }}' tlRelease
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
154+
155+ dependency-submission :
156+ name : Submit Dependencies
157+ if : github.event.repository.fork == false && github.event_name != 'pull_request'
158+ strategy :
159+ matrix :
160+ os : [ubuntu-22.04]
161+ java : [temurin@8]
162+ runs-on : ${{ matrix.os }}
163+ steps :
164+ - name : Checkout current branch (full)
165+ uses : actions/checkout@v4
166+ with :
167+ fetch-depth : 0
168+
169+ - name : Setup sbt
170+ uses : sbt/setup-sbt@v1
171+
172+ - name : Setup Java (temurin@8)
173+ id : setup-java-temurin-8
174+ if : matrix.java == 'temurin@8'
175+ uses : actions/setup-java@v4
176+ with :
177+ distribution : temurin
178+ java-version : 8
179+ cache : sbt
180+
181+ - name : sbt update
182+ if : matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
183+ run : sbt +update
184+
185+ - name : Submit Dependencies
186+ uses : scalacenter/sbt-dependency-submission@v2
187+ with :
188+ modules-ignore : root_2.12 root_2.13 rootfinagle_2.12 rootfinagle_2.13 scalafix-output_2.12 scalafix-output_2.13 scalafix-input_2.12 scalafix-input_2.13 finagle-core_2.12 finagle-core_2.13 scalafix-tests_2.12 scalafix-tests_2.13 catbird-benchmark_2.12 catbird-benchmark_2.13
189+ configs-ignore : test scala-tool scala-doc-tool test-internal
0 commit comments