From 82b51e504942508816e0b426f50b76143eba42a2 Mon Sep 17 00:00:00 2001 From: Rui Abreu Date: Tue, 7 Jul 2026 23:41:28 +0100 Subject: [PATCH] Bump Java baseline to 25 on master MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move master off Java 21 and onto Java 25 (LTS) as the exclusive build and test JDK. The main motivation is JEP 491, which landed in Java 24 and is carried into the 25 LTS: virtual threads no longer pin their carrier when blocking inside a synchronized block, removing a key constraint on adopting VTs in Storm's I/O-bound paths. Changes: - pom.xml: javaVersion 21 → 25 - maven.yaml: build job uses JDK 25; test matrix drops 21, keeps only 25 - nightlies.yaml, snapshots.yaml, update-license-files.yml: JDK 21 → 25 Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/maven.yaml | 8 ++++---- .github/workflows/nightlies.yaml | 4 ++-- .github/workflows/snapshots.yaml | 4 ++-- .github/workflows/update-license-files.yml | 4 ++-- pom.xml | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml index 94f53b5c7c..7349ac940c 100644 --- a/.github/workflows/maven.yaml +++ b/.github/workflows/maven.yaml @@ -22,7 +22,7 @@ on: branches: [ "master" ] jobs: - # Compile once on the minimum supported JDK (21) and share artifacts with test jobs + # Compile once on JDK 25 and share artifacts with test jobs build: runs-on: ubuntu-latest timeout-minutes: 30 @@ -38,11 +38,11 @@ jobs: uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: '3.10' - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin - java-version: 21 + java-version: 25 - name: Ensure a clean state without storm artifacts run: rm -rf ~/.m2/repository/org/apache/storm - name: Build project (compile + install, skip tests) @@ -66,7 +66,7 @@ jobs: timeout-minutes: 45 strategy: matrix: - java: [ 21, 25 ] + java: [ 25 ] module: [ Client, Server, Core, External, Integration-Test ] experimental: [false] fail-fast: false diff --git a/.github/workflows/nightlies.yaml b/.github/workflows/nightlies.yaml index 8e1ddf0527..0b8ba4ead0 100644 --- a/.github/workflows/nightlies.yaml +++ b/.github/workflows/nightlies.yaml @@ -40,11 +40,11 @@ jobs: uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: '3.10' - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin - java-version: 21 + java-version: 25 - name: Ensure a clean state without storm artifacts run: rm -rf ~/.m2/repository/org/apache/storm - name: Set up project dependencies diff --git a/.github/workflows/snapshots.yaml b/.github/workflows/snapshots.yaml index b7f6a5e82d..9ee70d066b 100644 --- a/.github/workflows/snapshots.yaml +++ b/.github/workflows/snapshots.yaml @@ -40,11 +40,11 @@ jobs: uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: '3.10' - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin - java-version: 21 + java-version: 25 - id: extract_version name: Extract project version shell: bash diff --git a/.github/workflows/update-license-files.yml b/.github/workflows/update-license-files.yml index 989d6535f5..75a55b8731 100644 --- a/.github/workflows/update-license-files.yml +++ b/.github/workflows/update-license-files.yml @@ -42,11 +42,11 @@ jobs: with: python-version: '3.10' - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: distribution: temurin - java-version: 21 + java-version: 25 - name: Ensure clean state without storm artifacts run: rm -rf ~/.m2/repository/org/apache/storm diff --git a/pom.xml b/pom.xml index a1c1eaea68..85f50fc0c3 100644 --- a/pom.xml +++ b/pom.xml @@ -68,7 +68,7 @@ - 21 + 25 false false