From f3fedd09000aefa874bf3717631f238dfd258252 Mon Sep 17 00:00:00 2001 From: Davide Angelocola Date: Sun, 28 Jun 2026 09:20:08 +0200 Subject: [PATCH] experiment: lower compile target to JDK 22 and test 22 + 25 in CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FFM (java.lang.foreign) went stable in JDK 22 (JEP 454), so the project may not actually need a JDK 25 floor. Drop maven.compiler.release 25 -> 22 and run the CI build matrix on both 22 and 25 to find out. If 22 is green, the supported floor can drop, widening the addressable audience substantially (most prod JVMs are on 17/21, not 25). Experiment only — not for merge as-is; report-driven. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/ci.yml | 10 ++++++++-- pom.xml | 6 +++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d9c2be9..fd04967 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,12 @@ on: jobs: build: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + # Experiment: does the project build + test on JDK 22 (first stable FFM) + # as well as 25? If 22 is green, the supported floor can drop from 25. + java: ['22', '25'] steps: - name: Checkout (with zstd submodule) @@ -16,11 +22,11 @@ jobs: with: submodules: recursive - - name: Set up JDK 25 + - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@v4 with: distribution: temurin - java-version: '25' + java-version: ${{ matrix.java }} cache: maven - name: Set up Zig diff --git a/pom.xml b/pom.xml index d5026d6..b9901f3 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,7 @@ UTF-8 - 25 + 22 0.11.0 3.2.8 3.4.0 @@ -164,7 +164,7 @@ maven-compiler-plugin 3.15.0 - 25 + 22 true -Xlint:all @@ -176,7 +176,7 @@ maven-javadoc-plugin 3.12.0 - 25 + 22 true true true