Skip to content

Conversation

@alecharp
Copy link
Member

@alecharp alecharp commented Oct 3, 2025

JENKINS-76170 Support Java 25 in Jenkins.

Allow Jenkins to run with Java 25 without requiring the enable-future-java flag.

Testing done

mvn package -Pquick-build and using war/target/jenkins.war with Java 25 to start an instance.

Proposed changelog entries

  • Support Java 25.

Proposed changelog category

/label major-rfe

Proposed upgrade guidelines

N/A

Submitter checklist

  • The Jira issue, if it exists, is well-described.
  • The changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developers, depending on the change) and are in the imperative mood (see examples). Fill in the Proposed upgrade guidelines section only if there are breaking changes or changes that may require extra steps from users during upgrade.
  • There is automated testing or an explanation as to why this change has no tests.
  • New public classes, fields, and methods are annotated with @Restricted or have @since TODO Javadocs, as appropriate.
  • New deprecations are annotated with @Deprecated(since = "TODO") or @Deprecated(forRemoval = true, since = "TODO"), if applicable.
  • New or substantially changed JavaScript is not defined inline and does not call eval to ease future introduction of Content Security Policy (CSP) directives (see documentation).
  • For dependency updates, there are links to external changelogs and, if possible, full differentials.
  • For new APIs and extension points, there is a link to at least one consumer.

Desired reviewers

@mention

Before the changes are marked as ready-for-merge:

Maintainer checklist

  • There are at least two (2) approvals for the pull request and no outstanding requests for change.
  • Conversations in the pull request are over, or it is explicit that a reviewer is not blocking the change.
  • Changelog entries in the pull request title and/or Proposed changelog entries are accurate, human-readable, and in the imperative mood.
  • Proper changelog labels are set so that the changelog can be generated automatically.
  • If the change needs additional upgrade steps from users, the upgrade-guide-needed label is set and there is a Proposed upgrade guidelines section in the pull request title (see example).
  • If it would make sense to backport the change to LTS, a Jira issue must exist, be a Bug or Improvement, and be labeled as lts-candidate to be considered (see query).

@comment-ops-bot comment-ops-bot bot added the major-rfe For changelog: Major enhancement. Will be highlighted on the top label Oct 3, 2025
gounthar and others added 3 commits October 3, 2025 16:21
The Javadoc comment said:

> When executing the resulting Callable, it executes
> FileCallable#act(FileCallable) on this FilePath.

The FileCallable interface does not have an `act(FileCallable)` method.
That absence causes the Javadoc generation to fail on Java 25.

There is a `FilePath.act(FileCallable)` method that could be inserted
instead, but I'm not confident the comment would then be correct.

Testing done:

Confirmed that Javadoc generation fails on Java 25 without this change.

Confirmed that Javadoc generation passes on Java 25 with this change.

(cherry picked from commit 3fdf9c1)
@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2025

Please take a moment and address the merge conflicts of your pull request. Thanks!

@github-actions github-actions bot removed the unresolved-merge-conflict There is a merge conflict with the target branch. label Oct 6, 2025
@alecharp alecharp marked this pull request as ready for review October 9, 2025 07:08
@alecharp alecharp changed the title 🚧 Testing Java 25 support Enabling Java 25 support Oct 9, 2025
@github-actions github-actions bot added the unresolved-merge-conflict There is a merge conflict with the target branch. label Oct 9, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Oct 9, 2025

Please take a moment and address the merge conflicts of your pull request. Thanks!

@github-actions github-actions bot removed the unresolved-merge-conflict There is a merge conflict with the target branch. label Oct 10, 2025
axes.values().combinations {
def (platform, jdk) = it
if (platform == 'windows' && jdk != 17) {
if (platform == 'windows' && jdk != axes.jdks.last()) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reduces the manual effort to maintain this and decide which one to put

@timja
Copy link
Member

timja commented Oct 11, 2025

Tested via replay, it worked:
https://ci.jenkins.io/job/Core/job/jenkins/job/PR-11148/16/pipeline-overview/?selected-node=434

[2025-10-11T10:12:47.877Z] Apache Maven 3.9.11 (3e54c93a704957b63ee3494413a2b544fd3d825b)
[2025-10-11T10:12:47.878Z] Maven home: Z:\agent\tools\hudson.tasks.Maven_MavenInstallation\mvn
[2025-10-11T10:12:47.878Z] Java version: 25-beta, vendor: Eclipse Adoptium, runtime: C:\tools\jdk-25
[2025-10-11T10:12:47.878Z] Default locale: en_US, platform encoding: UTF-8
[2025-10-11T10:12:47.879Z] OS name: "windows server 2019", version: "10.0", arch: "amd64", family: "windows"
[2025-10-11T10:12:49.636Z] WARNING: A terminally deprecated method in sun.misc.Unsafe has been called

Java version is out of date on ci.jenkins.io: jenkins-infra/helpdesk#4831

@timja
Copy link
Member

timja commented Oct 11, 2025

/label ready-for-merge


This PR is now ready for merge, after ~24 hours, we will merge it if there's no negative feedback.

Thanks!

@comment-ops-bot comment-ops-bot bot added the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label Oct 11, 2025
@timja timja removed the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label Oct 11, 2025
@timja
Copy link
Member

timja commented Oct 11, 2025

Removing ready for merge as we likely need to revert the Jetty upgrade which I believe is needed for this?

see #11197

@MarkEWaite
Copy link
Contributor

Removing ready for merge as we likely need to revert the Jetty upgrade which I believe is needed for this?

see #11197

Jetty can be downgraded in this pull request to 12.1.1 and Winstone to 8.14. Unfortunately, I can't tell if Jetty 12.1.1 has the issue or not.

@timja
Copy link
Member

timja commented Oct 12, 2025

It does, any version after the one we were previously on has the issue

Copy link
Member

@timja timja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requires the upcoming Jetty 12.1.3 from what I understand

@github-actions github-actions bot added the unresolved-merge-conflict There is a merge conflict with the target branch. label Oct 12, 2025
@github-actions
Copy link
Contributor

Please take a moment and address the merge conflicts of your pull request. Thanks!

@alecharp alecharp force-pushed the chore/java-25-support branch from 9cab06d to 6f43077 Compare October 12, 2025 08:48
@github-actions github-actions bot removed the unresolved-merge-conflict There is a merge conflict with the target branch. label Oct 12, 2025
@timja
Copy link
Member

timja commented Oct 21, 2025

/label ready-for-merge


This PR is now ready for merge, after ~24 hours, we will merge it if there's no negative feedback.

Thanks!

@comment-ops-bot comment-ops-bot bot added the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label Oct 21, 2025
@MarkEWaite MarkEWaite changed the title Enabling Java 25 support Enable Java 25 support Oct 24, 2025
@MarkEWaite MarkEWaite merged commit 7e6c574 into jenkinsci:master Oct 24, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

major-rfe For changelog: Major enhancement. Will be highlighted on the top ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants