From 930a7aa1ab1ef7a78b829bbbd75b078cc5334629 Mon Sep 17 00:00:00 2001 From: Sergey Chernov Date: Mon, 17 Aug 2026 14:31:33 -0700 Subject: [PATCH 1/9] Added JVM compatibility workflow --- .github/workflows/jvm-compatibility.yml | 81 +++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .github/workflows/jvm-compatibility.yml diff --git a/.github/workflows/jvm-compatibility.yml b/.github/workflows/jvm-compatibility.yml new file mode 100644 index 000000000..83e8a57e7 --- /dev/null +++ b/.github/workflows/jvm-compatibility.yml @@ -0,0 +1,81 @@ +name: JVM Compatibility + +on: + push: + branches: + - main + paths-ignore: + - "**.md" + - "**/docs/**" + - "**/LICENSE" + - "**/NOTICE" + + pull_request: + types: + - opened + - synchronize + - reopened + paths-ignore: + - "**.md" + - "**/docs/**" + - "**/LICENSE" + - "**/NOTICE" + + workflow_dispatch: + inputs: + pr: + description: "Pull request#" + required: false + +concurrency: + group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.sha }} + cancel-in-progress: true + +jobs: + test: + runs-on: ubuntu-latest + timeout-minutes: 30 + strategy: + fail-fast: false + matrix: + java: ["8", "11", "17", "21", "25"] + # Temurin is the OpenJDK/HotSpot baseline. Semeru exercises OpenJ9, + # while GraalVM Community exercises the Graal compiler and runtime. + distribution: ["temurin", "semeru", "graalvm-community"] + exclude: + # GraalVM Community only publishes builds for JDK 17 and later. + - java: "8" + distribution: "graalvm-community" + - java: "11" + distribution: "graalvm-community" + name: ${{ matrix.distribution }} JDK ${{ matrix.java }} + steps: + - name: Check out repository + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 + - name: Check out PR + run: | + git fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 \ + origin pull/${{ github.event.inputs.pr }}/merge:merged-pr && git checkout merged-pr + if: github.event.inputs.pr != '' + - name: Install JDK 8 build toolchain + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 + with: + distribution: "temurin" + java-version: "8" + - name: Install test JVM + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 + with: + distribution: ${{ matrix.distribution }} + java-version: ${{ matrix.java }} + cache: "maven" + - name: Build and test all modules + run: mvn --batch-mode --no-transfer-progress --show-version --strict-checksums --threads 2 -Dmaven.wagon.rto=30000 -Dj8 verify + - name: Upload test results + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + if: failure() + with: + name: test-results-${{ matrix.distribution }}-jdk-${{ matrix.java }} + path: | + **/target/failsafe-reports + **/target/surefire-reports + retention-days: 5 From 384ce86770f713f8661a8fde3416f7dd43678de9 Mon Sep 17 00:00:00 2001 From: Sergey Chernov Date: Mon, 17 Aug 2026 15:08:14 -0700 Subject: [PATCH 2/9] Define jdk matrix. Made tests compile with 17 --- .github/workflows/jvm-compatibility.yml | 96 +++++++++++++++++++------ 1 file changed, 75 insertions(+), 21 deletions(-) diff --git a/.github/workflows/jvm-compatibility.yml b/.github/workflows/jvm-compatibility.yml index 83e8a57e7..10e510146 100644 --- a/.github/workflows/jvm-compatibility.yml +++ b/.github/workflows/jvm-compatibility.yml @@ -31,24 +31,25 @@ concurrency: group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.sha }} cancel-in-progress: true +env: + PREFERRED_LTS_VERSION: "25.8" + jobs: test: runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 45 strategy: fail-fast: false matrix: java: ["8", "11", "17", "21", "25"] - # Temurin is the OpenJDK/HotSpot baseline. Semeru exercises OpenJ9, - # while GraalVM Community exercises the Graal compiler and runtime. - distribution: ["temurin", "semeru", "graalvm-community"] - exclude: - # GraalVM Community only publishes builds for JDK 17 and later. - - java: "8" - distribution: "graalvm-community" - - java: "11" - distribution: "graalvm-community" - name: ${{ matrix.distribution }} JDK ${{ matrix.java }} + vendor: + - name: "openjdk" + distribution: "oracle-openjdk" + - name: "temurin" + distribution: "temurin" + - name: "amazon" + distribution: "corretto" + name: ${{ matrix.vendor.name }} JDK ${{ matrix.java }} steps: - name: Check out repository uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 @@ -57,24 +58,77 @@ jobs: git fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 \ origin pull/${{ github.event.inputs.pr }}/merge:merged-pr && git checkout merged-pr if: github.event.inputs.pr != '' - - name: Install JDK 8 build toolchain - uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 + - name: Install build toolchains + uses: actions/setup-java@a42a52cfb590b0682db41c911da5dc7798ba620e # main with: distribution: "temurin" - java-version: "8" - - name: Install test JVM - uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 - with: - distribution: ${{ matrix.distribution }} - java-version: ${{ matrix.java }} + java-version: | + 8 + 11 + 17 cache: "maven" - name: Build and test all modules - run: mvn --batch-mode --no-transfer-progress --show-version --strict-checksums --threads 2 -Dmaven.wagon.rto=30000 -Dj8 verify + run: | + BUILD_ARGS=() + if [[ "${{ matrix.java }}" == "8" || "${{ matrix.java }}" == "11" ]]; then + BUILD_ARGS+=("-Dj8") + fi + mvn --batch-mode --no-transfer-progress --show-version --strict-checksums --threads 2 \ + -Dmaven.wagon.rto=30000 -DclickhouseVersion=$PREFERRED_LTS_VERSION \ + "${BUILD_ARGS[@]}" install + PROJECT_VERSION=$(mvn --batch-mode --no-transfer-progress help:evaluate \ + -Dexpression=project.version -q -DforceStdout) + echo "PROJECT_VERSION=$PROJECT_VERSION" >> "$GITHUB_ENV" + - name: Activate example JVM + uses: actions/setup-java@a42a52cfb590b0682db41c911da5dc7798ba620e # main + with: + distribution: ${{ matrix.vendor.distribution }} + java-version: ${{ matrix.java }} + - name: Compile examples + run: | + EXAMPLES=( + examples/client/pom.xml + examples/client-v2/pom.xml + examples/jdbc/pom.xml + examples/r2dbc/pom.xml + ) + if [[ "${{ matrix.java }}" != "8" && "${{ matrix.java }}" != "11" ]]; then + EXAMPLES+=( + examples/client-v2-apache-arrow/pom.xml + examples/client-v2-json-processors/pom.xml + examples/demo-kotlin-service/pom.xml + examples/demo-service/pom.xml + examples/jdbc-v2-json-processors/pom.xml + ) + fi + for pom in "${EXAMPLES[@]}"; do + mvn --batch-mode --no-transfer-progress -f "$pom" \ + -Dclickhouse-java.version="$PROJECT_VERSION" clean compile + done + - name: Run client example smoke test + run: | + docker run --detach --rm --name clickhouse-example --publish 8123:8123 \ + "clickhouse/clickhouse-server:$PREFERRED_LTS_VERSION" + trap 'docker rm --force clickhouse-example >/dev/null 2>&1 || true' EXIT + for attempt in {1..30}; do + if curl --fail --silent http://localhost:8123/ping >/dev/null; then + break + fi + sleep 2 + done + curl --fail --silent http://localhost:8123/ping >/dev/null + OUTPUT=$(mvn --batch-mode --no-transfer-progress -f examples/client/pom.xml \ + -Dclickhouse-java.version="$PROJECT_VERSION" \ + org.codehaus.mojo:exec-maven-plugin:3.5.0:java \ + -Dexec.mainClass=com.clickhouse.examples.jdbc.Main) + printf '%s\n' "$OUTPUT" + [[ "$OUTPUT" == *"Inserted 10 records"* ]] + [[ "$OUTPUT" == *"Query returned 10 records"* ]] - name: Upload test results uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: failure() with: - name: test-results-${{ matrix.distribution }}-jdk-${{ matrix.java }} + name: test-results-${{ matrix.vendor.name }}-jdk-${{ matrix.java }} path: | **/target/failsafe-reports **/target/surefire-reports From 976cb6b332b2be15f8a1f0acad75be8435f7ce5d Mon Sep 17 00:00:00 2001 From: Sergey Chernov Date: Mon, 17 Aug 2026 15:15:15 -0700 Subject: [PATCH 3/9] fix build --- .github/workflows/jvm-compatibility.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/jvm-compatibility.yml b/.github/workflows/jvm-compatibility.yml index 10e510146..281795d37 100644 --- a/.github/workflows/jvm-compatibility.yml +++ b/.github/workflows/jvm-compatibility.yml @@ -69,13 +69,9 @@ jobs: cache: "maven" - name: Build and test all modules run: | - BUILD_ARGS=() - if [[ "${{ matrix.java }}" == "8" || "${{ matrix.java }}" == "11" ]]; then - BUILD_ARGS+=("-Dj8") - fi mvn --batch-mode --no-transfer-progress --show-version --strict-checksums --threads 2 \ -Dmaven.wagon.rto=30000 -DclickhouseVersion=$PREFERRED_LTS_VERSION \ - "${BUILD_ARGS[@]}" install + -Dj8 -Pcompile-java11,compile-java17 install PROJECT_VERSION=$(mvn --batch-mode --no-transfer-progress help:evaluate \ -Dexpression=project.version -q -DforceStdout) echo "PROJECT_VERSION=$PROJECT_VERSION" >> "$GITHUB_ENV" From c81f0c594db701f8663583fbd9859d022b803f13 Mon Sep 17 00:00:00 2001 From: Sergey Chernov Date: Mon, 17 Aug 2026 19:53:58 -0700 Subject: [PATCH 4/9] fixed missing password for running examples --- .github/workflows/jvm-compatibility.yml | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/jvm-compatibility.yml b/.github/workflows/jvm-compatibility.yml index 281795d37..f064ffab3 100644 --- a/.github/workflows/jvm-compatibility.yml +++ b/.github/workflows/jvm-compatibility.yml @@ -42,14 +42,12 @@ jobs: fail-fast: false matrix: java: ["8", "11", "17", "21", "25"] - vendor: - - name: "openjdk" - distribution: "oracle-openjdk" - - name: "temurin" - distribution: "temurin" - - name: "amazon" - distribution: "corretto" - name: ${{ matrix.vendor.name }} JDK ${{ matrix.java }} + vendor: ["openjdk", "temurin", "amazon"] + exclude: + # Oracle's OpenJDK archive exposed by setup-java starts at JDK 9. + - java: "8" + vendor: "openjdk" + name: ${{ matrix.vendor }} JDK ${{ matrix.java }} steps: - name: Check out repository uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 @@ -78,7 +76,7 @@ jobs: - name: Activate example JVM uses: actions/setup-java@a42a52cfb590b0682db41c911da5dc7798ba620e # main with: - distribution: ${{ matrix.vendor.distribution }} + distribution: ${{ matrix.vendor == 'openjdk' && 'oracle-openjdk' || matrix.vendor == 'amazon' && 'corretto' || 'temurin' }} java-version: ${{ matrix.java }} - name: Compile examples run: | @@ -103,7 +101,11 @@ jobs: done - name: Run client example smoke test run: | + CLICKHOUSE_PASSWORD=$(openssl rand -hex 32) docker run --detach --rm --name clickhouse-example --publish 8123:8123 \ + --env CLICKHOUSE_USER=default \ + --env CLICKHOUSE_PASSWORD="$CLICKHOUSE_PASSWORD" \ + --env CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \ "clickhouse/clickhouse-server:$PREFERRED_LTS_VERSION" trap 'docker rm --force clickhouse-example >/dev/null 2>&1 || true' EXIT for attempt in {1..30}; do @@ -115,6 +117,7 @@ jobs: curl --fail --silent http://localhost:8123/ping >/dev/null OUTPUT=$(mvn --batch-mode --no-transfer-progress -f examples/client/pom.xml \ -Dclickhouse-java.version="$PROJECT_VERSION" \ + -DchPassword="$CLICKHOUSE_PASSWORD" \ org.codehaus.mojo:exec-maven-plugin:3.5.0:java \ -Dexec.mainClass=com.clickhouse.examples.jdbc.Main) printf '%s\n' "$OUTPUT" @@ -124,7 +127,7 @@ jobs: uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: failure() with: - name: test-results-${{ matrix.vendor.name }}-jdk-${{ matrix.java }} + name: test-results-${{ matrix.vendor }}-jdk-${{ matrix.java }} path: | **/target/failsafe-reports **/target/surefire-reports From 96a6e2c778d180cb42a43dbaeba57cba00dd4e2d Mon Sep 17 00:00:00 2001 From: Sergey Chernov Date: Mon, 17 Aug 2026 20:30:51 -0700 Subject: [PATCH 5/9] fixed kotlin example runtime version to compile with latest jdk --- examples/demo-kotlin-service/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/demo-kotlin-service/pom.xml b/examples/demo-kotlin-service/pom.xml index 2556b5927..085db3cca 100644 --- a/examples/demo-kotlin-service/pom.xml +++ b/examples/demo-kotlin-service/pom.xml @@ -58,7 +58,7 @@ 0.10.0-rc1-SNAPSHOT all - 2.0.20 + 2.4.10 17 2.3.12 1.4.14 From 613c7a3ddbb9199251ba2c076c0d359efe03eb4a Mon Sep 17 00:00:00 2001 From: Sergey Chernov Date: Mon, 17 Aug 2026 20:52:07 -0700 Subject: [PATCH 6/9] bumped lombok version in example project to run with latest JDK --- examples/demo-service/pom.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/examples/demo-service/pom.xml b/examples/demo-service/pom.xml index 280077896..bec0ee0f4 100644 --- a/examples/demo-service/pom.xml +++ b/examples/demo-service/pom.xml @@ -62,6 +62,7 @@ 0.10.0-rc1-SNAPSHOT all + 1.18.42 1.14.3 @@ -115,6 +116,19 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + ${lombok.version} + + + + org.springframework.boot spring-boot-maven-plugin From 7122e82dd429de154149777fdae9de89ca805d2a Mon Sep 17 00:00:00 2001 From: Sergey Chernov Date: Tue, 18 Aug 2026 09:52:03 -0700 Subject: [PATCH 7/9] reduced permissions in jvm compatibility check wf. optimized build --- .github/workflows/jvm-compatibility.yml | 86 +++++++++++++++++++++---- 1 file changed, 72 insertions(+), 14 deletions(-) diff --git a/.github/workflows/jvm-compatibility.yml b/.github/workflows/jvm-compatibility.yml index f064ffab3..8cb282a94 100644 --- a/.github/workflows/jvm-compatibility.yml +++ b/.github/workflows/jvm-compatibility.yml @@ -31,23 +31,19 @@ concurrency: group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.sha }} cancel-in-progress: true +permissions: + contents: read + env: PREFERRED_LTS_VERSION: "25.8" jobs: - test: + build: + name: Build runs-on: ubuntu-latest timeout-minutes: 45 - strategy: - fail-fast: false - matrix: - java: ["8", "11", "17", "21", "25"] - vendor: ["openjdk", "temurin", "amazon"] - exclude: - # Oracle's OpenJDK archive exposed by setup-java starts at JDK 9. - - java: "8" - vendor: "openjdk" - name: ${{ matrix.vendor }} JDK ${{ matrix.java }} + outputs: + project_version: ${{ steps.build.outputs.project_version }} steps: - name: Check out repository uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 @@ -65,19 +61,81 @@ jobs: 11 17 cache: "maven" - - name: Build and test all modules + - name: Build all modules + id: build run: | mvn --batch-mode --no-transfer-progress --show-version --strict-checksums --threads 2 \ - -Dmaven.wagon.rto=30000 -DclickhouseVersion=$PREFERRED_LTS_VERSION \ + -Dmaven.wagon.rto=30000 -DskipTests \ -Dj8 -Pcompile-java11,compile-java17 install PROJECT_VERSION=$(mvn --batch-mode --no-transfer-progress help:evaluate \ -Dexpression=project.version -q -DforceStdout) - echo "PROJECT_VERSION=$PROJECT_VERSION" >> "$GITHUB_ENV" + echo "project_version=$PROJECT_VERSION" >> "$GITHUB_OUTPUT" + - name: Package Maven artifacts + run: | + tar -C "$HOME/.m2/repository" -czf \ + "$RUNNER_TEMP/clickhouse-maven-repository.tar.gz" com/clickhouse + shopt -s globstar nullglob + TARGET_DIRS=(**/target) + tar -czf "$RUNNER_TEMP/compiled-tests.tar.gz" "${TARGET_DIRS[@]}" + - name: Upload Maven artifacts + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + with: + name: clickhouse-maven-repository + path: | + ${{ runner.temp }}/clickhouse-maven-repository.tar.gz + ${{ runner.temp }}/compiled-tests.tar.gz + retention-days: 1 + + compatibility: + name: ${{ matrix.vendor }} JDK ${{ matrix.java }} + needs: build + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + PROJECT_VERSION: ${{ needs.build.outputs.project_version }} + strategy: + fail-fast: false + matrix: + java: ["8", "11", "17", "21", "25"] + vendor: ["openjdk", "temurin", "amazon"] + exclude: + # Oracle's OpenJDK archive exposed by setup-java starts at JDK 9. + - java: "8" + vendor: "openjdk" + steps: + - name: Check out repository + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 + - name: Check out PR + run: | + git fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 \ + origin pull/${{ github.event.inputs.pr }}/merge:merged-pr && git checkout merged-pr + if: github.event.inputs.pr != '' - name: Activate example JVM uses: actions/setup-java@a42a52cfb590b0682db41c911da5dc7798ba620e # main with: distribution: ${{ matrix.vendor == 'openjdk' && 'oracle-openjdk' || matrix.vendor == 'amazon' && 'corretto' || 'temurin' }} java-version: ${{ matrix.java }} + cache: "maven" + - name: Download Maven artifacts + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + with: + name: clickhouse-maven-repository + path: ${{ runner.temp }}/clickhouse-maven-repository + - name: Restore Maven artifacts + run: | + mkdir -p "$HOME/.m2/repository" + tar -C "$HOME/.m2/repository" -xzf \ + "$RUNNER_TEMP/clickhouse-maven-repository/clickhouse-maven-repository.tar.gz" + tar -xzf \ + "$RUNNER_TEMP/clickhouse-maven-repository/compiled-tests.tar.gz" + - name: Test all modules + run: | + mvn --batch-mode --no-transfer-progress --show-version --strict-checksums --threads 2 \ + -Dmaven.wagon.rto=30000 -DclickhouseVersion=$PREFERRED_LTS_VERSION -Dj8 \ + -Pcompile-java11,compile-java17 \ + org.apache.maven.plugins:maven-surefire-plugin:3.5.3:test \ + org.apache.maven.plugins:maven-failsafe-plugin:3.1.2:integration-test \ + org.apache.maven.plugins:maven-failsafe-plugin:3.1.2:verify - name: Compile examples run: | EXAMPLES=( From af8f053d69bf3db9664c6448ec95d35a981bc99b Mon Sep 17 00:00:00 2001 From: Sergey Chernov Date: Tue, 18 Aug 2026 10:46:38 -0700 Subject: [PATCH 8/9] resolving dependencies once in jvm compatibility wf --- .github/workflows/jvm-compatibility.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/jvm-compatibility.yml b/.github/workflows/jvm-compatibility.yml index 8cb282a94..7d01dfafc 100644 --- a/.github/workflows/jvm-compatibility.yml +++ b/.github/workflows/jvm-compatibility.yml @@ -70,10 +70,19 @@ jobs: PROJECT_VERSION=$(mvn --batch-mode --no-transfer-progress help:evaluate \ -Dexpression=project.version -q -DforceStdout) echo "project_version=$PROJECT_VERSION" >> "$GITHUB_OUTPUT" + - name: Resolve test providers + run: | + mvn --batch-mode --no-transfer-progress \ + org.apache.maven.plugins:maven-dependency-plugin:3.8.1:get \ + -Dartifact=org.apache.maven.surefire:surefire-testng:3.5.3 + mvn --batch-mode --no-transfer-progress \ + org.apache.maven.plugins:maven-dependency-plugin:3.8.1:get \ + -Dartifact=org.apache.maven.surefire:surefire-testng:3.1.2 - name: Package Maven artifacts run: | tar -C "$HOME/.m2/repository" -czf \ - "$RUNNER_TEMP/clickhouse-maven-repository.tar.gz" com/clickhouse + "$RUNNER_TEMP/clickhouse-maven-repository.tar.gz" \ + com/clickhouse org/apache/maven/surefire shopt -s globstar nullglob TARGET_DIRS=(**/target) tar -czf "$RUNNER_TEMP/compiled-tests.tar.gz" "${TARGET_DIRS[@]}" From 14e8f550d20e9b7fc87d6c796eca7421f876a369 Mon Sep 17 00:00:00 2001 From: Sergey Chernov Date: Tue, 18 Aug 2026 10:52:16 -0700 Subject: [PATCH 9/9] added overlay to compile with 8 and run tests with 17 --- .github/workflows/jvm-compatibility.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/jvm-compatibility.yml b/.github/workflows/jvm-compatibility.yml index 7d01dfafc..3917f5b13 100644 --- a/.github/workflows/jvm-compatibility.yml +++ b/.github/workflows/jvm-compatibility.yml @@ -119,11 +119,11 @@ jobs: git fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 \ origin pull/${{ github.event.inputs.pr }}/merge:merged-pr && git checkout merged-pr if: github.event.inputs.pr != '' - - name: Activate example JVM + - name: Activate test JVM uses: actions/setup-java@a42a52cfb590b0682db41c911da5dc7798ba620e # main with: - distribution: ${{ matrix.vendor == 'openjdk' && 'oracle-openjdk' || matrix.vendor == 'amazon' && 'corretto' || 'temurin' }} - java-version: ${{ matrix.java }} + distribution: ${{ (matrix.java == '8' || matrix.java == '11') && 'temurin' || matrix.vendor == 'openjdk' && 'oracle-openjdk' || matrix.vendor == 'amazon' && 'corretto' || 'temurin' }} + java-version: ${{ (matrix.java == '8' || matrix.java == '11') && '17' || matrix.java }} cache: "maven" - name: Download Maven artifacts uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 @@ -145,6 +145,12 @@ jobs: org.apache.maven.plugins:maven-surefire-plugin:3.5.3:test \ org.apache.maven.plugins:maven-failsafe-plugin:3.1.2:integration-test \ org.apache.maven.plugins:maven-failsafe-plugin:3.1.2:verify + - name: Activate legacy example JVM + if: matrix.java == '8' || matrix.java == '11' + uses: actions/setup-java@a42a52cfb590b0682db41c911da5dc7798ba620e # main + with: + distribution: ${{ matrix.vendor == 'openjdk' && 'oracle-openjdk' || matrix.vendor == 'amazon' && 'corretto' || 'temurin' }} + java-version: ${{ matrix.java }} - name: Compile examples run: | EXAMPLES=(