Skip to content

build(java): align toolchain and runtime to Java 25 (bytecode 17)#7310

Open
cristianrcv wants to merge 3 commits into
masterfrom
feat/NOTASK-align-java-25
Open

build(java): align toolchain and runtime to Java 25 (bytecode 17)#7310
cristianrcv wants to merge 3 commits into
masterfrom
feat/NOTASK-align-java-25

Conversation

@cristianrcv

Copy link
Copy Markdown
Contributor

Summary

Aligns the build with the proposed org-wide Java 25 standard in seqeralabs/adr#48 (supersedes the 2024-12-03 Java 17/21 ADR): adopt Java 25 as the build toolchain and runtime, keep the language level and bytecode target at Java 17, and use Amazon Corretto as the CI JDK distribution (the ADR's preferred Linux distribution).

What changed

  • Gradle toolchain (build.gradle): JavaLanguageVersion.of(21)of(25). sourceCompatibility/targetCompatibility stay at 17, so emitted bytecode remains Java 17.
  • CI (.github/workflows/build.yml): distribution: 'temurin''corretto' (all setup-java steps). The java_version matrix already covers [17, 25] and is unchanged.
  • Runtime container images → Java 25:
    • docker/Dockerfile: amazoncorretto:21-al202325-al2023
    • packing.gradle (distributed launcher image): amazoncorretto:17-alpine-jdk25-alpine-jdk
    • test-e2e/Dockerfile: amazoncorretto:17-al202325-al2023

Why

Java 25 (latest LTS, Sep 2025) provides long-term security support and improved JVM warmup/performance. Keeping the bytecode target at 17 preserves interoperability with plugins and libraries still on Java 17.

Reviewer notes

  • The runtime image bumps change the JDK shipped in the distributed Nextflow container images. Please confirm the amazoncorretto:25-alpine-jdk and 25-al2023 tags are acceptable/available before merging — these are a bigger runtime decision than the build toolchain and can be dropped from this PR if you'd rather move them separately.
  • Bytecode target is unchanged (17), so a Java 17 runtime still runs the artifacts; the image bumps only raise the bundled JVM.

How to verify

  • CI builds/tests pass on the [17, 25] matrix using Corretto.
  • Compiled artifacts remain Java 17 bytecode (sourceCompatibility/targetCompatibility = 17).

🤖 Generated with Claude Code

Adopt Java 25 as the build toolchain and runtime (Gradle toolchain,
CI distribution and container base images) 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.
CI switches the JDK distribution from Temurin to Amazon Corretto per
the ADR's preferred Linux distribution.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Cristian Ramon-Cortes <cristian.ramon-cortes@seqera.io>
@netlify

netlify Bot commented Jul 8, 2026

Copy link
Copy Markdown

Deploy Preview for nextflow-docs ready!

Name Link
🔨 Latest commit b5b98c7
🔍 Latest deploy log https://app.netlify.com/projects/nextflow-docs/deploys/6a565cea13a16e0008d4cda1
😎 Deploy Preview https://deploy-preview-7310--nextflow-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@cristianrcv cristianrcv requested a review from pditommaso July 8, 2026 13:05
cristianrcv and others added 2 commits July 10, 2026 13:58
Align Gradle wrapper with 9.6.1 while keeping Java target at 17.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant