From f4c1d9b74ca1ee68c6d19354bc793d6a78f98019 Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Wed, 10 Jun 2026 15:27:36 -0300 Subject: [PATCH 1/3] ci: test each Vaadin version on its exact baseline JDK --- .github/workflows/maven.yml | 53 ++++++++++++++++++++++++------------- tests-shared/pom.xml | 9 +++---- 2 files changed, 38 insertions(+), 24 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 9371f4c..bde1a1d 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -21,29 +21,44 @@ jobs: strategy: fail-fast: false matrix: - # Each Vaadin runtime is exercised on the JDK that matches its baseline. - # Vaadin 14/23/24 run on Java 17; Vaadin 25 is compiled to Java 21 bytecode - # and only loads on Java 21, so it must be built and tested there. - # (maven.compiler.source/target=1.8 sets bytecode level only, not the runtime JDK.) + # Each job tests the module whose Vaadin baseline matches that JDK exactly: + # tests-v14 -> Java 8, tests-v23 -> Java 11, tests-v24 -> Java 17, tests-v25 -> Java 21 + # Compilation always needs Java 17+ (the shared *Test25 sources reference Jackson 3, + # which is Java 17 bytecode), so the 8/11 jobs compile on JDK 17 and fork the + # surefire test JVM onto the target runtime via -Djvm. include: - - vaadin: '14' - java: '17' - - vaadin: '23' - java: '17' - - vaadin: '24' - java: '17' - - vaadin: '25' - java: '21' - name: Vaadin ${{ matrix.vaadin }} (JDK ${{ matrix.java }}) + - run-java: '8' + build-java: '17' + module: tests-v14 + test-jvm: -Djvm=$JAVA_HOME_8_X64/bin/java + - run-java: '11' + build-java: '17' + module: tests-v23 + test-jvm: -Djvm=$JAVA_HOME_11_X64/bin/java + - run-java: '17' + build-java: '17' + module: tests-v24 + test-jvm: '' + - run-java: '21' + build-java: '21' + module: tests-v25 + test-jvm: '' + name: JDK ${{ matrix.run-java }} steps: - uses: actions/checkout@v3 - - name: Set up JDK ${{ matrix.java }} + - name: Set up runtime JDK ${{ matrix.run-java }} + if: matrix.run-java != matrix.build-java uses: actions/setup-java@v3 with: - java-version: ${{ matrix.java }} + java-version: ${{ matrix.run-java }} + distribution: 'temurin' + # Installed last so it becomes the default JAVA_HOME used by Maven; the runtime + # JDK above remains available as JAVA_HOME__X64 for the -Djvm fork. + - name: Set up build JDK ${{ matrix.build-java }} + uses: actions/setup-java@v3 + with: + java-version: ${{ matrix.build-java }} distribution: 'temurin' cache: maven - # Build only this version's test module plus its upstream (core, tests-shared) - # via -am, so the module compiles and its suite runs on the matching JDK. - - name: Build (Vaadin ${{ matrix.vaadin }}) - run: mvn -B package -pl tests-v${{ matrix.vaadin }} -am \ No newline at end of file + - name: Build and test (JDK ${{ matrix.run-java }} runtime) + run: mvn -B package -pl ${{ matrix.module }} -am ${{ matrix.test-jvm }} \ No newline at end of file diff --git a/tests-shared/pom.xml b/tests-shared/pom.xml index 3fabdc3..bd50a72 100644 --- a/tests-shared/pom.xml +++ b/tests-shared/pom.xml @@ -99,10 +99,10 @@ org.apache.maven.plugins @@ -110,7 +110,6 @@ **/*Test24.java - **/JsonMigrationHelper25Test.java **/LitRendererMigrationExtensionTest.java From d096960ac3ed47c060c849ea8727bd2e8c0779e5 Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Wed, 10 Jun 2026 16:05:43 -0300 Subject: [PATCH 2/3] ci: update actions/checkout to v6 --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index bde1a1d..f75d89d 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -45,7 +45,7 @@ jobs: test-jvm: '' name: JDK ${{ matrix.run-java }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Set up runtime JDK ${{ matrix.run-java }} if: matrix.run-java != matrix.build-java uses: actions/setup-java@v3 From 1a30519811ac2ce39ab7eda3c5ef9248d6539f4f Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Wed, 10 Jun 2026 16:05:54 -0300 Subject: [PATCH 3/3] ci: update actions/setup-java to v5 --- .github/workflows/maven.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index f75d89d..5ec86db 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -48,14 +48,14 @@ jobs: - uses: actions/checkout@v6 - name: Set up runtime JDK ${{ matrix.run-java }} if: matrix.run-java != matrix.build-java - uses: actions/setup-java@v3 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.run-java }} distribution: 'temurin' # Installed last so it becomes the default JAVA_HOME used by Maven; the runtime # JDK above remains available as JAVA_HOME__X64 for the -Djvm fork. - name: Set up build JDK ${{ matrix.build-java }} - uses: actions/setup-java@v3 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.build-java }} distribution: 'temurin'