Skip to content

Commit b3bfd86

Browse files
committed
Updated workflow and dependencies
1 parent 1718d9c commit b3bfd86

File tree

3 files changed

+93
-71
lines changed

3 files changed

+93
-71
lines changed

.github/workflows/ci.yml

Lines changed: 91 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -15,55 +15,44 @@ on:
1515
tags: [v*]
1616

1717
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 }}
2318
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2419

20+
21+
concurrency:
22+
group: ${{ github.workflow }} @ ${{ github.ref }}
23+
cancel-in-progress: true
24+
2525
jobs:
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

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ThisBuild / tlCiHeaderCheck := false
99
val catsEffectVersion = "2.5.5"
1010
val catsEffect3Version = "3.4.3"
1111

12-
ThisBuild / crossScalaVersions := Seq("2.12.17", "2.13.10")
12+
ThisBuild / crossScalaVersions := Seq("2.12.20", "2.13.16")
1313

1414
ThisBuild / libraryDependencySchemes ++= Seq(
1515
// scoverage depends on scala-xml 1, but discipline-scalatest transitively pulls in scala-xml 2

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=1.7.3
1+
sbt.version=1.10.9

0 commit comments

Comments
 (0)