You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2026/09/18 02:52:49 UTC

(groovy) branch GROOVY_5_1_X updated: CI: test on JDK 27 in the regular matrix, disable the EA canary

This is an automated email from the ASF dual-hosted git repository.

paulk-asert pushed a commit to branch GROOVY_5_1_X
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/GROOVY_5_1_X by this push:
     new c8c03f4bd9 CI: test on JDK 27 in the regular matrix, disable the EA canary
c8c03f4bd9 is described below

commit c8c03f4bd9a6a611e18873dbf7b9ff28fd4834ce
Author: Paul King <pa...@asert.com.au>
AuthorDate: Fri Sep 18 10:14:43 2026 +1000

    CI: test on JDK 27 in the regular matrix, disable the EA canary
    
    JDK 27 is released, so it belongs in the regular matrix rather than the
    early-access job. The canary is commented out rather than pointed at JDK 28:
    28 emits class file major version 72, which neither the bundled ASM nor the
    target-bytecode table understands yet, so the job can only be red.
---
 .github/workflows/groovy-build-test.yml | 87 +++++++++++++++++----------------
 1 file changed, 46 insertions(+), 41 deletions(-)

diff --git a/.github/workflows/groovy-build-test.yml b/.github/workflows/groovy-build-test.yml
index 98421f8463..89838e5010 100644
--- a/.github/workflows/groovy-build-test.yml
+++ b/.github/workflows/groovy-build-test.yml
@@ -54,7 +54,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        java: [12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24, 26]
+        java: [12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24, 26, 27]
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v6
@@ -77,43 +77,48 @@ jobs:
   # *test target*, then set up a stable LTS JDK afterwards so Gradle itself
   # runs on a GA build. `fail-fast: false` keeps EA breakage from failing the
   # rest of the matrix. NOTE: the EA build number bumps ~weekly, so the URL
-  # below goes stale — refresh it (and jdk-version) from https://jdk.java.net/27/.
-  ea:
-    if: github.event_name == 'push'
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-          - jdk-url: "https://download.java.net/java/early_access/jdk27/33/GPL/openjdk-27-ea+33_linux-x64_bin.tar.gz"
-            jdk-version: "27.0.0-ea.33"
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v6
-      - name: Download EA JDK
-        run: wget -nv -O "$RUNNER_TEMP/java_package.tar.gz" "${{ matrix.jdk-url }}"
-      - name: Setup EA JDK (test target)
-        uses: actions/setup-java@v5
-        with:
-          distribution: 'jdkfile'
-          jdkFile: ${{ runner.temp }}/java_package.tar.gz
-          java-version: ${{ matrix.jdk-version }}
-      - name: Capture EA JAVA_HOME
-        run: echo "EA_JAVA_HOME=$JAVA_HOME" >> "$GITHUB_ENV"
-      - name: Setup build JDK
-        # Last setup-java wins, so Gradle runs on this stable LTS JDK while the
-        # tests target the EA JDK captured above via -Ptarget.java.home.
-        uses: actions/setup-java@v5
-        with:
-          check-latest: true
-          distribution: 'zulu'
-          java-version: '21'
-      - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
-      - name: Test with Gradle
-        run: ./gradlew test -Ptarget.java.home="$EA_JAVA_HOME"
-        timeout-minutes: 60
-      - name: Upload reports
-        uses: actions/upload-artifact@v4
-        if: always()
-        with:
-          name: build-reports-ea
-          path: '**/build/reports/'
+  # below goes stale — refresh it (and jdk-version) from https://jdk.java.net/28/.
+  # DISABLED: JDK 28 emits class file major version 72, which the bundled ASM
+  # (9.10.1) and CompilerConfiguration (tops out at JDK27/Opcodes.V27) do not
+  # understand yet, so the whole job is red for a known reason. Re-enable once
+  # ASM supports it and a JDK28 target is added.
+#  ea:
+#    if: github.event_name == 'push'
+#    strategy:
+#      fail-fast: false
+#      matrix:
+#        include:
+#          - jdk-url: "https://download.java.net/java/early_access/jdk28/15/GPL/openjdk-28-ea+15_linux-x64_bin.tar.gz"
+#            jdk-version: "28.0.0-ea.15"
+#    runs-on: ubuntu-latest
+#    steps:
+#      - uses: actions/checkout@v6
+#      - name: Download EA JDK
+#        run: wget -nv -O "$RUNNER_TEMP/java_package.tar.gz" "${{ matrix.jdk-url }}"
+#      - name: Setup EA JDK (test target)
+#        uses: actions/setup-java@v5
+#        with:
+#          distribution: 'jdkfile'
+#          jdkFile: ${{ runner.temp }}/java_package.tar.gz
+#          java-version: ${{ matrix.jdk-version }}
+#      - name: Capture EA JAVA_HOME
+#        run: echo "EA_JAVA_HOME=$JAVA_HOME" >> "$GITHUB_ENV"
+#      - name: Setup build JDK
+#        # Last setup-java wins, so Gradle runs on this stable LTS JDK while the
+#        # tests target the EA JDK captured above via -Ptarget.java.home.
+#        uses: actions/setup-java@v5
+#        with:
+#          check-latest: true
+#          distribution: 'zulu'
+#          java-version: '21'
+#      - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
+#      - name: Test with Gradle
+#        run: ./gradlew test -Ptarget.java.home="$EA_JAVA_HOME"
+#        timeout-minutes: 60
+#      - name: Upload reports
+#        uses: actions/upload-artifact@v4
+#        if: always()
+#        with:
+#          name: build-reports-ea
+#          path: '**/build/reports/'
+