Skip to content

Commit 3f2e73b

Browse files
committed
add test matrix
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
1 parent 19fdfc5 commit 3f2e73b

File tree

2 files changed

+49
-3
lines changed

2 files changed

+49
-3
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
name: Multi-Version Compatibility Tests
3+
4+
on: [pull_request]
5+
6+
permissions: {}
7+
8+
jobs:
9+
compatibility-test:
10+
name: Test on Java ${{ matrix.java }}
11+
runs-on: ubuntu-24.04
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
java: [11, 17, 21, 25]
16+
steps:
17+
- name: Check out
18+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
19+
with:
20+
persist-credentials: false
21+
22+
- name: Set up Java ${{ matrix.java }}
23+
id: setup-java
24+
uses: actions/setup-java@v4
25+
with:
26+
distribution: 'temurin'
27+
java-version: ${{ matrix.java }}
28+
29+
- name: Cache local Maven repository
30+
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5
31+
with:
32+
path: ~/.m2/repository
33+
key: ${{ runner.os }}-maven-java${{ matrix.java }}-${{ hashFiles('**/pom.xml') }}
34+
restore-keys: |
35+
${{ runner.os }}-maven-java${{ matrix.java }}-
36+
${{ runner.os }}-maven-
37+
38+
- name: Build and test on Java ${{ matrix.java }}
39+
run: |
40+
if [ "${{ matrix.java }}" = "11" ]; then
41+
echo "Building on Java 11 - excluding integration-tests module (GraalVM plugin requires Java 17+)"
42+
./mvnw clean install -Dtest.java.version=11 -pl '!integration-tests'
43+
else
44+
./mvnw clean install -Dtest.java.version=${{ matrix.java }}
45+
fi

pom.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<junit-jupiter.version>6.0.1</junit-jupiter.version>
2929
<otel.instrumentation.version>2.16.0-alpha</otel.instrumentation.version>
3030
<java.version>8</java.version>
31+
<test.java.version>25</test.java.version>
3132
<jacoco.line-coverage>0.70</jacoco.line-coverage>
3233
<checkstyle.skip>false</checkstyle.skip>
3334
<coverage.skip>false</coverage.skip>
@@ -252,9 +253,9 @@
252253
<release>${java.version}</release>
253254
<source>${java.version}</source>
254255
<target>${java.version}</target>
255-
<testRelease>25</testRelease>
256-
<testSource>25</testSource>
257-
<testTarget>25</testTarget>
256+
<testRelease>${test.java.version}</testRelease>
257+
<testSource>${test.java.version}</testSource>
258+
<testTarget>${test.java.version}</testTarget>
258259
<showWarnings>true</showWarnings>
259260
<compilerArgs>
260261
<arg>-Xlint:all,-serial,-processing,-options</arg>

0 commit comments

Comments
 (0)