Skip to content

Conversation

@MarkEWaite
Copy link
Contributor

@MarkEWaite MarkEWaite commented Oct 13, 2023

Test with Java 21

Java 21 was released Sep 19, 2023. We want to announce full support for Java 21 in early October and would like the most used plugins to be compiled and tested with Java 21.

The acceptance test harness and plugin bill of materials tests are already passing with Java 21. This is a further step to improve plugin readiness for use with Java 21 and for development with Java 21.

The change intentionally tests only two Java configurations, Java 17 and Java 21 because we believe that the risk of a regression that only affects Java 11 is low. We generate Java 11 byte code with the Java 17 and the Java 21 builds, so we're already testing Java 11 byte code.

Does not resolve the two open security vulnerabilities in the plugin. Does confirm that the automated tests of the plugin can be run successfully on Java 17 and Java 21.

Supersedes pull requests:

Testing done

Confirmed that automated tests pass with Java 21.

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes

monksy and others added 12 commits August 29, 2023 16:31
Javadoc for the method promises that the parameter will be non-null,
even though the annnotation is Nullable for backwards compatibility.
Suppresses a spotbugs warning
Use the plugin bill of materials so that dependency versions are provided
by the BOM rather than being separately maintained here.

Use https for the SCM URL instead of ssh.
Java 21 was released Sep 19, 2023. We want to announce Java 21 support
in October and would like the most used plugins to be compiled and tested
with Java 21.

The acceptance test harness and plugin bill of materials tests are already
passing with Java 21. This is a further step to improve plugin readiness
for use with Java 21 and for development with Java 21.

The change intentionally tests only two Java configurations, Java 17
and Java 21 because I believe that the risk of a regression that only
affects Java 11 is low. We generate Java 11 byte code with the Java 17
and the Java 21 builds, so Java 11 byte code is already tested.
@MarkEWaite
Copy link
Contributor Author

@ljader or @edmund-wagner would you be willing to merge this pull request so that the plugin is regularly tested with Java 21? No need for a release, though the update to Java 11 probably justifies a release.

@basil
Copy link
Member

basil commented Mar 28, 2024

Changes all look correct to me.

https://www.jenkins.io/doc/developer/plugin-development/choosing-jenkins-baseline/
says:

> Do not use versions no longer supported by the update center

Jenkins 2.361.4 is not supported by the update center.

https://stats.jenkins.io/pluginversions/ssh.html shows that users of the
plugin are not upgrading Jenkins core, even if they are using the most
recent release of the plugin.  Only 53% of the current installations
are on 2.361.4 or newer.
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.

3 participants