Skip to content

Commit 264a040

Browse files
authored
Add Java 21 to CI test (RustedBones#128)
1 parent 95ca0c8 commit 264a040

File tree

2 files changed

+50
-8
lines changed

2 files changed

+50
-8
lines changed

.github/workflows/ci.yml

Lines changed: 47 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ jobs:
2929
matrix:
3030
os: [ubuntu-22.04]
3131
scala: [3, 2.13]
32-
java: [temurin@17, temurin@11]
32+
java: [temurin@21, temurin@17, temurin@11]
3333
exclude:
34+
- scala: 2.13
35+
java: temurin@17
3436
- scala: 2.13
3537
java: temurin@11
3638
runs-on: ${{ matrix.os }}
@@ -44,6 +46,19 @@ jobs:
4446
- name: Setup sbt
4547
uses: sbt/setup-sbt@v1
4648

49+
- name: Setup Java (temurin@21)
50+
id: setup-java-temurin-21
51+
if: matrix.java == 'temurin@21'
52+
uses: actions/setup-java@v4
53+
with:
54+
distribution: temurin
55+
java-version: 21
56+
cache: sbt
57+
58+
- name: sbt update
59+
if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false'
60+
run: sbt +update
61+
4762
- name: Setup Java (temurin@17)
4863
id: setup-java-temurin-17
4964
if: matrix.java == 'temurin@17'
@@ -74,18 +89,18 @@ jobs:
7489
run: sbt githubWorkflowCheck
7590

7691
- name: Check headers and formatting
77-
if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-22.04'
92+
if: matrix.java == 'temurin@21' && matrix.os == 'ubuntu-22.04'
7893
run: sbt '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck
7994

8095
- name: Test
8196
run: sbt '++ ${{ matrix.scala }}' test
8297

8398
- name: Check binary compatibility
84-
if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-22.04'
99+
if: matrix.java == 'temurin@21' && matrix.os == 'ubuntu-22.04'
85100
run: sbt '++ ${{ matrix.scala }}' mimaReportBinaryIssues
86101

87102
- name: Generate API documentation
88-
if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-22.04'
103+
if: matrix.java == 'temurin@21' && matrix.os == 'ubuntu-22.04'
89104
run: sbt '++ ${{ matrix.scala }}' doc
90105

91106
- name: Make target directories
@@ -110,7 +125,7 @@ jobs:
110125
strategy:
111126
matrix:
112127
os: [ubuntu-22.04]
113-
java: [temurin@17]
128+
java: [temurin@21]
114129
runs-on: ${{ matrix.os }}
115130
steps:
116131
- name: Checkout current branch (full)
@@ -121,6 +136,19 @@ jobs:
121136
- name: Setup sbt
122137
uses: sbt/setup-sbt@v1
123138

139+
- name: Setup Java (temurin@21)
140+
id: setup-java-temurin-21
141+
if: matrix.java == 'temurin@21'
142+
uses: actions/setup-java@v4
143+
with:
144+
distribution: temurin
145+
java-version: 21
146+
cache: sbt
147+
148+
- name: sbt update
149+
if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false'
150+
run: sbt +update
151+
124152
- name: Setup Java (temurin@17)
125153
id: setup-java-temurin-17
126154
if: matrix.java == 'temurin@17'
@@ -197,7 +225,7 @@ jobs:
197225
strategy:
198226
matrix:
199227
os: [ubuntu-22.04]
200-
java: [temurin@17]
228+
java: [temurin@21]
201229
runs-on: ${{ matrix.os }}
202230
steps:
203231
- name: Checkout current branch (full)
@@ -208,6 +236,19 @@ jobs:
208236
- name: Setup sbt
209237
uses: sbt/setup-sbt@v1
210238

239+
- name: Setup Java (temurin@21)
240+
id: setup-java-temurin-21
241+
if: matrix.java == 'temurin@21'
242+
uses: actions/setup-java@v4
243+
with:
244+
distribution: temurin
245+
java-version: 21
246+
cache: sbt
247+
248+
- name: sbt update
249+
if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false'
250+
run: sbt +update
251+
211252
- name: Setup Java (temurin@17)
212253
id: setup-java-temurin-17
213254
if: matrix.java == 'temurin@17'

build.sbt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,15 @@ val scala213 = "2.13.16"
2525
val defaultScala = scala3
2626

2727
// github actions
28+
val java21 = JavaSpec.temurin("21")
2829
val java17 = JavaSpec.temurin("17")
2930
val java11 = JavaSpec.temurin("11")
30-
val defaultJava = java17
31+
val defaultJava = java21
3132

3233
ThisBuild / scalaVersion := defaultScala
3334
ThisBuild / crossScalaVersions := Seq(scala3, scala213)
3435
ThisBuild / githubWorkflowTargetBranches := Seq("main")
35-
ThisBuild / githubWorkflowJavaVersions := Seq(java17, java11)
36+
ThisBuild / githubWorkflowJavaVersions := Seq(java21, java17, java11)
3637

3738
// build
3839
ThisBuild / tlFatalWarnings := true

0 commit comments

Comments
 (0)