From 804ad69d7b863149a6471c57ae3014769c6bddb7 Mon Sep 17 00:00:00 2001 From: Cristian Ramon-Cortes Date: Wed, 8 Jul 2026 14:58:06 +0200 Subject: [PATCH 1/3] build(java): align toolchain and runtime to Java 25 (bytecode 17) Adopt Java 25 as the build toolchain and runtime (Gradle toolchain and CI workflows) while keeping the language level and bytecode target at Java 17. Follows the proposed org-wide standard in the Java 25 ADR (seqeralabs/adr#48), which supersedes the 2024-12-03 Java 17/21 ADR. Co-Authored-By: Claude Opus 4.8 (1M context) Signed-off-by: Cristian Ramon-Cortes --- .github/workflows/build.yml | 6 +++--- .github/workflows/security-submit-dependecy-graph.yml | 2 +- app/build.gradle | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 67a2b9b..832ec3a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,7 +40,7 @@ jobs: - uses: graalvm/setup-graalvm@cabbb10818fabc989d6dbd508e4846596d20dd2d # v1.6.0 if: ${{ matrix.musl }} with: - java-version: '21' + java-version: '25' github-token: ${{ secrets.GITHUB_TOKEN }} native-image-job-reports: 'true' native-image-musl: 'true' @@ -48,7 +48,7 @@ jobs: - uses: graalvm/setup-graalvm@cabbb10818fabc989d6dbd508e4846596d20dd2d # v1.6.0 if: ${{ !matrix.musl }} with: - java-version: '21' + java-version: '25' github-token: ${{ secrets.GITHUB_TOKEN }} native-image-job-reports: 'true' @@ -138,7 +138,7 @@ jobs: - name: Setup Java for JReleaser uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0 with: - java-version: '21' + java-version: '25' distribution: 'adopt' - name: Version diff --git a/.github/workflows/security-submit-dependecy-graph.yml b/.github/workflows/security-submit-dependecy-graph.yml index 48963aa..cd808d6 100644 --- a/.github/workflows/security-submit-dependecy-graph.yml +++ b/.github/workflows/security-submit-dependecy-graph.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - uses: graalvm/setup-graalvm@cabbb10818fabc989d6dbd508e4846596d20dd2d # v1.6.0 with: - java-version: 21 + java-version: 25 - name: Generate and submit dependency graph for wave-cli uses: gradle/actions/dependency-submission@748248ddd2a24f49513d8f472f81c3a07d4d50e1 # v4.4.4 diff --git a/app/build.gradle b/app/build.gradle index f8ebef5..ef74100 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,7 +7,7 @@ plugins { java { toolchain { - languageVersion = JavaLanguageVersion.of(21) + languageVersion = JavaLanguageVersion.of(25) } sourceCompatibility = 17 targetCompatibility = 17 @@ -96,7 +96,7 @@ graalvmNative { } javaLauncher = javaToolchains.launcherFor { - languageVersion = JavaLanguageVersion.of(21) + languageVersion = JavaLanguageVersion.of(25) vendor = JvmVendorSpec.matching("Oracle Corporation") } buildArgs.add('--enable-url-protocols=https') From ca904bf53b400f51455099c7ebf8de4e55eab021 Mon Sep 17 00:00:00 2001 From: Cristian Ramon-Cortes Date: Wed, 8 Jul 2026 15:01:50 +0200 Subject: [PATCH 2/3] ci(java): use Amazon Corretto distribution instead of Temurin Switch the CI setup-java JDK distribution from Temurin to Amazon Corretto, following the Java 25 ADR (seqeralabs/adr#48), which specifies Amazon Corretto as the preferred distribution for Linux. Co-Authored-By: Claude Opus 4.8 (1M context) Signed-off-by: Cristian Ramon-Cortes --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 832ec3a..91da166 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -139,7 +139,7 @@ jobs: uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0 with: java-version: '25' - distribution: 'adopt' + distribution: 'corretto' - name: Version id: version From 45dbaba2bf0b782b7ff45f1825f2f0a8df279b3e Mon Sep 17 00:00:00 2001 From: Cristian Ramon-Cortes Date: Wed, 8 Jul 2026 15:34:54 +0200 Subject: [PATCH 3/3] build(groovy): upgrade Groovy to 4.0.31 for JDK 25 The Groovy 4.0.24 compiler cannot process Java 25 class files (fails with "Unsupported class file major version 69") when compiling tests on the Java 25 toolchain. Bump to 4.0.31, which supports JDK 25, matching the version used by the nextflow project. Co-Authored-By: Claude Opus 4.8 (1M context) Signed-off-by: Cristian Ramon-Cortes --- app/build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ef74100..7e78bb8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,10 +32,10 @@ dependencies { // bump commons-io version to address security vulnerabilities runtimeOnly 'commons-io:commons-io:2.18.0' - testImplementation "org.apache.groovy:groovy:4.0.24" - testImplementation "org.apache.groovy:groovy-nio:4.0.24" - testImplementation "org.apache.groovy:groovy-test:4.0.24" - testImplementation "org.apache.groovy:groovy-json:4.0.24" + testImplementation "org.apache.groovy:groovy:4.0.31" + testImplementation "org.apache.groovy:groovy-nio:4.0.31" + testImplementation "org.apache.groovy:groovy-test:4.0.31" + testImplementation "org.apache.groovy:groovy-json:4.0.31" testImplementation "net.bytebuddy:byte-buddy:1.14.11" testImplementation ("org.spockframework:spock-core:2.4-groovy-4.0") { exclude group: 'org.apache.groovy' } }