jenkinsci / build-timeout-plugin

Jenkins build-timeout plugin
https://plugins.jenkins.io/build-timeout/
31 stars 80 forks source link

Test with Java 21 #124

Closed MarkEWaite closed 10 months ago

MarkEWaite commented 11 months ago

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.

Updates the parent pom and the plugin BOM to most recent releases.

Test in parallel on ci.jenkins.io

Allow ci.jenkins.io to run the tests with one process per available core, while developers are allowed to configure the amount of parallel testing based on the configuration and use of their computer.

Developers can adjust parallel execution by passing a command line argument to Maven like this:

mvn clean -DforkCount=1C verify

Developers can define a Maven profile that sets the forkCount in their ~/.m2/settings.xml like this:

<profile>
  <id>faster</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
    <forkCount>.45C</forkCount>
  </properties>
</profile>

With that entry in the settings.xml file, then 0.45C will be used for:

mvn clean verify

Testing done

Tests pass with -DforkCount=1C on my Linux computer with Java 21.

Submitter checklist