[improve][build] Switch default JDK to 25 for 5.0.0-M2#26070
Open
lhotari wants to merge 1 commit into
Open
Conversation
Make JDK 25 the default for the official Docker image (docker-jdk) and the primary JDK in pulsar-ci / pulsar-ci-flaky, keeping JDK 21 as the secondary scheduled run. The Java 25 default was agreed on dev@; 5.0.0-M1 (branch-5.0-M1) keeps Java 21, so this targets the master / 5.0.0-M2 line. Assisted-by: Claude Code (Opus 4.8)
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.
Motivation
Making JDK 25 the default was agreed on the dev@ mailing list:
https://lists.apache.org/thread/3zclb8cq0dt95c8f1lh83qxyyj11m8pq
As part of the release planning,
4.3.0was renamed to5.0.0-M1:https://lists.apache.org/thread/1hyrcq11jbczdkmqqw07h5qq6fyfxoj7
5.0.0-M1ships with Java 21 as the default and is being released from thealready-cut
branch-5.0-M1. The switch to Java 25 lands in5.0.0-M2, whichis the
masterdevelopment line now that the M1 release branch exists. This changetherefore targets
masteronly;branch-5.0-M1keeps Java 21 as its default.Modifications
gradle/libs.versions.toml:docker-jdk21→25, so the official PulsarDocker image is built on JDK 25 by default.
.github/workflows/pulsar-ci.yamland.github/workflows/pulsar-ci-flaky.yaml— make JDK 25 the primary JDK and keep JDK 21 as the secondary scheduled run (swap):
workflow_dispatchjdk_major_versioninput: default21→25(options reordered25,21).0 12 * * *scheduled run) is now JDK 25; the special-cased0 6 * * *scheduled runnow uses JDK 21.
runtime_jdk: 17 / 21 / 25shade-run and Native Imagematrix entries — those exercise specific runtime JDKs regardless of the primary build JDK,
so they are not part of the swap.
Verifying this change
This change is a trivial build/CI configuration change without dedicated test coverage; it is
exercised by the CI workflows themselves, which now build and test on JDK 25 by default.
Does this pull request potentially affect one of the following parts:
The official Pulsar Docker image is now built on JDK 25 by default (
docker-jdk = "25").This applies to the
master/5.0.0-M2line only; the5.0.0-M1release (branch-5.0-M1)continues to default to Java 21.