Skip to content

Commit 690fa36

Browse files
authored
fix: use consistent JDK version for CI and POM (#918)
1 parent 997b461 commit 690fa36

File tree

2 files changed

+30
-11
lines changed

2 files changed

+30
-11
lines changed

.github/workflows/ci.yml

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ defaults:
2121
shell: bash
2222

2323
env:
24-
java_version: 25
24+
JAVA_VERSION: 21 # must be consistent with POM; see also dependabot config for any version limits
25+
JAVA_VERSION_LATEST: 25 # the latest `JAVA_VERSION` that we test with CI
2526
java_distribution: zulu
27+
javadoc_version: 25 # newer than `JAVA_VERSION` for better javadoc
2628
groovy_version: 4.x
2729
CCDB_CONNECTION: 'sqlite:////cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/noarch/data/ccdb/ccdb_latest.sqlite'
2830
nthreads: 1
@@ -71,7 +73,7 @@ jobs:
7173
- uses: actions/checkout@v5
7274
- uses: actions/setup-java@v5
7375
with:
74-
java-version: ${{ env.java_version }}
76+
java-version: ${{ env.JAVA_VERSION }}
7577
distribution: ${{ env.java_distribution }}
7678
cache: maven
7779
- name: install xrootd-client (linux)
@@ -108,13 +110,28 @@ jobs:
108110
# tests
109111
#############################################################################
110112

113+
java_matrix: # make JSON job matrix, to workaround GitHub's lack of `env` var support in job matrix params
114+
runs-on: ubuntu-latest
115+
outputs:
116+
versions: ${{ steps.matrix.outputs.versions }}
117+
steps:
118+
- name: matrix
119+
id: matrix
120+
run: echo versions="[\"${{ env.JAVA_VERSION }}\",\"${{ env.JAVA_VERSION_LATEST }}\"]" | tee -a $GITHUB_OUTPUT
121+
111122
unit_tests:
123+
needs:
124+
- java_matrix
125+
strategy:
126+
fail-fast: false
127+
matrix:
128+
JAVA_VERSION: ${{ fromJson(needs.java_matrix.outputs.versions) }}
112129
runs-on: ubuntu-latest
113130
steps:
114131
- uses: actions/checkout@v5
115132
- uses: actions/setup-java@v5
116133
with:
117-
java-version: ${{ env.java_version }}
134+
java-version: ${{ matrix.JAVA_VERSION }}
118135
distribution: ${{ env.java_distribution }}
119136
cache: maven
120137
- name: install xrootd-client
@@ -127,8 +144,10 @@ jobs:
127144
- name: unit tests
128145
run: ./build-coatjava.sh --xrootd --unittests --no-progress -T${{ env.nthreads }}
129146
- name: collect jacoco report
147+
if: ${{ matrix.JAVA_VERSION == env.JAVA_VERSION }}
130148
run: validation/jacoco-aggregate.sh
131149
- name: publish jacoco report
150+
if: ${{ matrix.JAVA_VERSION == env.JAVA_VERSION }}
132151
uses: actions/upload-artifact@v5
133152
with:
134153
name: jacoco_report
@@ -143,7 +162,7 @@ jobs:
143162
- name: Set up JDK
144163
uses: actions/setup-java@v5
145164
with:
146-
java-version: ${{ env.java_version }}
165+
java-version: ${{ env.JAVA_VERSION }}
147166
distribution: ${{ env.java_distribution }}
148167
cache: maven
149168
- uses: cvmfs-contrib/github-action-cvmfs@v5
@@ -165,7 +184,7 @@ jobs:
165184
- name: Set up JDK
166185
uses: actions/setup-java@v5
167186
with:
168-
java-version: ${{ env.java_version }}
187+
java-version: ${{ env.JAVA_VERSION }}
169188
distribution: ${{ env.java_distribution }}
170189
cache: maven
171190
- uses: cvmfs-contrib/github-action-cvmfs@v5
@@ -202,7 +221,7 @@ jobs:
202221
- name: Set up JDK
203222
uses: actions/setup-java@v5
204223
with:
205-
java-version: ${{ env.java_version }}
224+
java-version: ${{ env.JAVA_VERSION }}
206225
distribution: ${{ env.java_distribution }}
207226
cache: maven
208227
- name: setup cvmfs
@@ -258,7 +277,7 @@ jobs:
258277
- name: Set up JDK
259278
uses: actions/setup-java@v5
260279
with:
261-
java-version: ${{ env.java_version }}
280+
java-version: ${{ env.JAVA_VERSION }}
262281
distribution: ${{ env.java_distribution }}
263282
cache: maven
264283
- uses: actions/download-artifact@v6
@@ -283,7 +302,7 @@ jobs:
283302
- name: Set up JDK
284303
uses: actions/setup-java@v5
285304
with:
286-
java-version: ${{ env.java_version }}
305+
java-version: ${{ env.JAVA_VERSION }}
287306
distribution: ${{ env.java_distribution }}
288307
cache: maven
289308
- name: setup groovy
@@ -306,7 +325,7 @@ jobs:
306325
- name: Set up JDK
307326
uses: actions/setup-java@v5
308327
with:
309-
java-version: ${{ env.java_version }}
328+
java-version: ${{ env.JAVA_VERSION }}
310329
distribution: ${{ env.java_distribution }}
311330
cache: maven
312331
- uses: actions/download-artifact@v6
@@ -342,7 +361,7 @@ jobs:
342361
- name: set up JDK
343362
uses: actions/setup-java@v5
344363
with:
345-
java-version: ${{ env.java_version }}
364+
java-version: ${{ env.javadoc_version }}
346365
distribution: ${{ env.java_distribution }}
347366
cache: maven
348367
- name: build coatjava javadocs # javadoc:aggregate output dir cannot be controlled, so assume the latest "standard" path and `mv` it

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@
279279
<artifactId>maven-compiler-plugin</artifactId>
280280
<version>3.14.1</version>
281281
<configuration>
282-
<release>21</release>
282+
<release>21</release> <!-- CI variable `JAVA_VERSION` must match this; see also dependabot configuration -->
283283
<encoding>UTF-8</encoding>
284284
</configuration>
285285
</plugin>

0 commit comments

Comments
 (0)