build(java): align toolchain and runtime to Java 25 (bytecode 17)#99
Open
cristianrcv wants to merge 3 commits into
Open
build(java): align toolchain and runtime to Java 25 (bytecode 17)#99cristianrcv wants to merge 3 commits into
cristianrcv wants to merge 3 commits into
Conversation
Adopt Java 25 as the build toolchain and runtime while setting the bytecode target to Java 17 (options.release 21 -> 17) to match the org-wide standard, and bump CI to Java 25. 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) <noreply@anthropic.com> Signed-off-by: Cristian Ramon-Cortes <cristian.ramon-cortes@seqera.io>
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) <noreply@anthropic.com> Signed-off-by: Cristian Ramon-Cortes <cristian.ramon-cortes@seqera.io>
Bump wrapper distribution from 9.3.1 to 9.6.1; Java source/target unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Aligns tower-agent with the org-wide Java 25 standard proposed in https://github.com/seqeralabs/adr/pull/48 (which supersedes the 2024-12-03 Java 17/21 ADR): adopt Java 25 as the build toolchain and runtime, while setting the language/bytecode target to Java 17.
What changed
build.gradle: Gradle toolchainJavaLanguageVersion.of(21)->of(25).build.gradle:compileJavaoptions.release = 21->options.release = 17(bytecode target lowered to 17)..github/workflows/build.yml:java-version: '21'->'25'(GraalVM setup + JReleaser setup, two places)..github/workflows/security_submit_dependencies.yml:java-version: '21'->'25'(GraalVM setup).Why
The org-wide standard is to build and run on Java 25 while targeting Java 17 bytecode for broad runtime compatibility. This keeps the toolchain current while ensuring produced artifacts remain compatible with Java 17 consumers.
How to verify
build.yml,security_submit_dependencies.yml) runs on Java 25../gradlew buildcompiles with a Java 25 toolchain and emits Java 17 bytecode.Reviewer notes
options.release = 21->17). This is intentional per the ADR. Please verify the codebase does not use any Java 18-21 language features or APIs — if it does, the CI compile will fail, which is the intended signal.graalvm-communitydistribution; ensure Java 25 is available for that distribution ingraalvm/setup-graalvm.🤖 Generated with Claude Code