From a4608796e40e4cfa20da653d6163bb911b26b06e Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Mon, 12 Oct 2026 12:23:13 +0000 Subject: [PATCH 1/4] Test JDK 27 instead of 26 JDK 26 is out of support now that 27 is released. Spotless is skipped on the JDK 27 jobs only: palantir-java-format crashes there until palantir/palantir-java-format#1786 is released. --- .github/workflows/maven.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b1cd5ab72dee..91ee9b9344c0 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -138,7 +138,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - java: ['17', '25', '26'] + java: ['17', '25', '27'] steps: - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@de7274f081f381c8f8158605e0321c36c376e2e6 # v6.0.1 @@ -213,7 +213,8 @@ jobs: - name: Build with downloaded Maven shell: bash - run: mvn verify -Papache-release -Dgpg.skip=true -e -B -V + # palantir-java-format crashes on JDK 27 (palantir/palantir-java-format#1786); drop the skip once a fixed release is in maven-parent + run: mvn verify -Papache-release -Dgpg.skip=true -e -B -V ${{ matrix.java == '27' && '-Dspotless.skip=true' || '' }} - name: Build site with downloaded Maven shell: bash @@ -254,7 +255,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - java: ['17', '25', '26'] + java: ['17', '25', '27'] steps: - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@de7274f081f381c8f8158605e0321c36c376e2e6 # v6.0.1 @@ -294,7 +295,8 @@ jobs: - name: Build Maven and ITs and run them shell: bash - run: ./mvnw install -e -B -V -Prun-its,mimir + # palantir-java-format crashes on JDK 27 (palantir/palantir-java-format#1786); drop the skip once a fixed release is in maven-parent + run: ./mvnw install -e -B -V -Prun-its,mimir ${{ matrix.java == '27' && '-Dspotless.skip=true' || '' }} - name: Upload Mimir caches uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 From d42137aae081a18a07e54626b775332dd48391c0 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Mon, 12 Oct 2026 14:32:51 +0000 Subject: [PATCH 2/4] Skip Spotless in the JDK 27 site build too --- .github/workflows/maven.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 91ee9b9344c0..51945f09d578 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -218,7 +218,8 @@ jobs: - name: Build site with downloaded Maven shell: bash - run: mvn site -e -B -V -Preporting + # the javadoc report forks a build that runs Spotless; same JDK 27 skip as above + run: mvn site -e -B -V -Preporting ${{ matrix.java == '27' && '-Dspotless.skip=true' || '' }} - name: Upload Mimir caches uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 From bb6af9bf7efc269164c9138dc54c505eb000655f Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Mon, 12 Oct 2026 19:22:54 +0000 Subject: [PATCH 3/4] Skip Spotless on JDK 27 through a POM profile The profile applies to local builds as well as CI, so the -Dspotless.skip arguments leave the workflow. Drop it once maven-parent ships a palantir-java-format that runs on JDK 27 (palantir/palantir-java-format#1786). --- .github/workflows/maven.yml | 9 +++------ pom.xml | 11 +++++++++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 51945f09d578..3bb6a73e8b15 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -213,13 +213,11 @@ jobs: - name: Build with downloaded Maven shell: bash - # palantir-java-format crashes on JDK 27 (palantir/palantir-java-format#1786); drop the skip once a fixed release is in maven-parent - run: mvn verify -Papache-release -Dgpg.skip=true -e -B -V ${{ matrix.java == '27' && '-Dspotless.skip=true' || '' }} + run: mvn verify -Papache-release -Dgpg.skip=true -e -B -V - name: Build site with downloaded Maven shell: bash - # the javadoc report forks a build that runs Spotless; same JDK 27 skip as above - run: mvn site -e -B -V -Preporting ${{ matrix.java == '27' && '-Dspotless.skip=true' || '' }} + run: mvn site -e -B -V -Preporting - name: Upload Mimir caches uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 @@ -296,8 +294,7 @@ jobs: - name: Build Maven and ITs and run them shell: bash - # palantir-java-format crashes on JDK 27 (palantir/palantir-java-format#1786); drop the skip once a fixed release is in maven-parent - run: ./mvnw install -e -B -V -Prun-its,mimir ${{ matrix.java == '27' && '-Dspotless.skip=true' || '' }} + run: ./mvnw install -e -B -V -Prun-its,mimir - name: Upload Mimir caches uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 diff --git a/pom.xml b/pom.xml index af7e868524d5..7112c135b5f8 100644 --- a/pom.xml +++ b/pom.xml @@ -990,6 +990,17 @@ under the License. + + + jdk27-skip-spotless + + [27,) + + + true + + mockito From e6351e65c7fa1a2bdc35dfb3b59174fe0e2f2077 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Mon, 12 Oct 2026 22:04:49 +0200 Subject: [PATCH 4/4] Activate the JDK 27 Spotless profile by property, not The model builder tests in maven-impl build the root POM in sessions without java.version, where a activation is an error. --- pom.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 7112c135b5f8..709abd7d6fb2 100644 --- a/pom.xml +++ b/pom.xml @@ -992,10 +992,15 @@ under the License. + drop this profile once maven-parent ships a fixed release. + Activated by property, not : the model builder tests build this POM in sessions + without java.version, where a activation is an error. --> jdk27-skip-spotless - [27,) + + java.specification.version + 27 + true