diff --git a/.github/workflows/ci-report.yml b/.github/workflows/ci-report.yml index 384e4c697a6..e94eadf3ce9 100644 --- a/.github/workflows/ci-report.yml +++ b/.github/workflows/ci-report.yml @@ -53,10 +53,10 @@ jobs: # Different branches might have different versions of Develocity, and we want to make sure # that we publish with the one that we built the scan with in the first place. ref: ${{ steps.determine_branch_ref.outputs.original_branch_ref }} - - name: Set up Java 21 + - name: Set up Java 25 uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # 5.0.0 with: - java-version: 21 + java-version: 25 distribution: temurin # https://github.com/actions/cache/blob/main/examples.md#java---maven - name: Cache local Maven repository diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9800d3a871e..ef62d9ea4ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,10 +61,10 @@ jobs: matrix: os: - { - name: "Linux JDK 21", + name: "Linux JDK 25", runs-on: 'ubuntu-latest', java: { - version: 21 + version: 25 }, maven: { # Since we only start an Elasticsearch container on Linux we add the profile to enable container reuse here: @@ -75,10 +75,10 @@ jobs: # so we can't run Elasticsearch tests. # See https://github.com/actions/runner-images/issues/1143#issuecomment-972929995 - { - name: "Windows JDK 21", + name: "Windows JDK 25", runs-on: 'windows-latest', java: { - version: 21 + version: 25 }, maven: { args: '-Dtest.elasticsearch.skip=true' diff --git a/Jenkinsfile b/Jenkinsfile index 9758a5e3825..2e956d634b3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -133,7 +133,7 @@ import org.hibernate.jenkins.pipeline.helpers.alternative.AlternativeMultiMap * pr: ... */ -@Field final String DEFAULT_JDK_TOOL = 'OpenJDK 21 Latest' +@Field final String DEFAULT_JDK_TOOL = 'OpenJDK 25 Latest' @Field final String MAVEN_TOOL = 'Apache Maven 3.9' // Default node pattern, to be used for resource-intensive stages. @@ -174,8 +174,7 @@ stage('Configure') { new JdkBuildEnvironment(version: '17', testCompilerTool: 'OpenJDK 17 Latest', condition: TestCondition.AFTER_MERGE), new JdkBuildEnvironment(version: '21', testCompilerTool: 'OpenJDK 21 Latest', - condition: TestCondition.BEFORE_MERGE, - isDefault: true), + condition: TestCondition.AFTER_MERGE), // We want to enable preview features when testing newer builds of OpenJDK: // even if we don't use these features, just enabling them can cause side effects // and it's useful to test that. @@ -184,15 +183,10 @@ stage('Configure') { // they require the use of -Dnet.bytebuddy.experimental=true. // Make sure to remove that argument as soon as possible // -- generally that requires upgrading bytebuddy in Hibernate ORM after the JDK goes GA. - new JdkBuildEnvironment(version: '23', testCompilerTool: 'OpenJDK 23 Latest', - testLauncherArgs: '--enable-preview', - condition: TestCondition.AFTER_MERGE), - new JdkBuildEnvironment(version: '24', testCompilerTool: 'OpenJDK 24 Latest', - testLauncherArgs: '--enable-preview -Dnet.bytebuddy.experimental=true', - condition: TestCondition.AFTER_MERGE), new JdkBuildEnvironment(version: '25', testCompilerTool: 'OpenJDK 25 Latest', testLauncherArgs: '--enable-preview -Dnet.bytebuddy.experimental=true', - condition: TestCondition.AFTER_MERGE), + condition: TestCondition.BEFORE_MERGE, + isDefault: true), new JdkBuildEnvironment(version: '26', testCompilerTool: 'OpenJDK 26 Latest', testLauncherArgs: '--enable-preview -Dnet.bytebuddy.experimental=true', condition: TestCondition.AFTER_MERGE) diff --git a/build/parents/build/pom.xml b/build/parents/build/pom.xml index 9dd689b140a..3bfa6e104fa 100644 --- a/build/parents/build/pom.xml +++ b/build/parents/build/pom.xml @@ -1109,6 +1109,8 @@ jdk-deprecated-20 jdk-deprecated-21 jdk-deprecated-22 + jdk-deprecated-23 + jdk-deprecated-24 jdk-internal-17 jdk-internal-18 @@ -1116,6 +1118,8 @@ jdk-internal-20 jdk-internal-21 jdk-internal-22 + jdk-internal-23 + jdk-internal-24 @@ -1149,6 +1153,7 @@ verify-forbidden-apis-main-internal + 24 jdk-unsafe @@ -1175,6 +1180,7 @@ verify-forbidden-apis-tests + 24 jdk-unsafe diff --git a/ci/dependency-update/Jenkinsfile b/ci/dependency-update/Jenkinsfile index 3791d555d6f..084eaf1b316 100644 --- a/ci/dependency-update/Jenkinsfile +++ b/ci/dependency-update/Jenkinsfile @@ -92,7 +92,7 @@ def pullContainerImages() { } def withMavenWorkspace(Closure body) { - def actualJdk = settings().testCompilerTool == null ? 'OpenJDK 21 Latest' : settings().testCompilerTool + def actualJdk = settings().testCompilerTool == null ? 'OpenJDK 25 Latest' : settings().testCompilerTool withMaven(jdk: actualJdk, maven: 'Apache Maven 3.9', mavenLocalRepo: env.WORKSPACE_TMP + '/.m2repository', options: [ diff --git a/ci/nightly/Jenkinsfile b/ci/nightly/Jenkinsfile index 36a986205c0..33172296b80 100644 --- a/ci/nightly/Jenkinsfile +++ b/ci/nightly/Jenkinsfile @@ -6,7 +6,7 @@ @Library('hibernate-jenkins-pipeline-helpers') _ def withMavenWorkspace(Closure body) { - withMaven(jdk: 'OpenJDK 21 Latest', maven: 'Apache Maven 3.9', + withMaven(jdk: 'OpenJDK 25 Latest', maven: 'Apache Maven 3.9', mavenLocalRepo: env.WORKSPACE_TMP + '/.m2repository', options: [ // Artifacts are not needed and take up disk space diff --git a/ci/performance/elasticsearch/Jenkinsfile b/ci/performance/elasticsearch/Jenkinsfile index af486fd3eef..b4ec8b5e4c3 100644 --- a/ci/performance/elasticsearch/Jenkinsfile +++ b/ci/performance/elasticsearch/Jenkinsfile @@ -12,7 +12,7 @@ import groovy.transform.Field import org.hibernate.jenkins.pipeline.helpers.job.JobHelper @Field final String MAVEN_TOOL = 'Apache Maven 3.9' -@Field final String JDK_TOOL = 'OpenJDK 21 Latest' +@Field final String JDK_TOOL = 'OpenJDK 25 Latest' // Performance node pattern, to be used for stages involving performance tests. @Field final String PERFORMANCE_NODE_PATTERN = 'Performance' @@ -119,4 +119,4 @@ class EsAwsBuildEnvironment { String getLockedResourcesLabel() { "es-aws-${nameEmbeddableVersion}" } -} \ No newline at end of file +} diff --git a/ci/performance/lucene/Jenkinsfile b/ci/performance/lucene/Jenkinsfile index e216aeb47de..d1c3bfccb97 100644 --- a/ci/performance/lucene/Jenkinsfile +++ b/ci/performance/lucene/Jenkinsfile @@ -12,7 +12,7 @@ import groovy.transform.Field import org.hibernate.jenkins.pipeline.helpers.job.JobHelper @Field final String MAVEN_TOOL = 'Apache Maven 3.9' -@Field final String JDK_TOOL = 'OpenJDK 21 Latest' +@Field final String JDK_TOOL = 'OpenJDK 25 Latest' // Performance node pattern, to be used for stages involving performance tests. @Field final String PERFORMANCE_NODE_PATTERN = 'Performance' diff --git a/ci/release/Jenkinsfile b/ci/release/Jenkinsfile index a968a269ae5..842fdc611d5 100644 --- a/ci/release/Jenkinsfile +++ b/ci/release/Jenkinsfile @@ -13,7 +13,7 @@ pipeline { } tools { maven 'Apache Maven 3.9' - jdk 'OpenJDK 21 Latest' + jdk 'OpenJDK 25 Latest' } options { buildDiscarder logRotator(daysToKeepStr: '30', numToKeepStr: '10') diff --git a/ci/snapshot-publish/Jenkinsfile b/ci/snapshot-publish/Jenkinsfile index a0fa2036ffe..39d08238e79 100644 --- a/ci/snapshot-publish/Jenkinsfile +++ b/ci/snapshot-publish/Jenkinsfile @@ -18,7 +18,7 @@ pipeline { } tools { maven 'Apache Maven 3.9' - jdk 'OpenJDK 21 Latest' + jdk 'OpenJDK 25 Latest' } options { // Wait for 1h before publishing snapshots, in case there's more commits. diff --git a/pom.xml b/pom.xml index 582b8e7355c..084070f99ac 100644 --- a/pom.xml +++ b/pom.xml @@ -208,7 +208,7 @@ - 21 + 25 @@ -216,7 +216,7 @@ ${java.home} ${java-version.main.compiler.java_home}/bin/javac - 17, 21 or 23 + 17, 21 or 25 ${jdk.min.version} @@ -1347,27 +1347,11 @@ - - testWithJdk24 - - - java-version.test.release - 24 - - - - - true - - - testWithJdk25 - - java-version.test.release - 25 - + + [25,)