From 176b008be52ba204a2ff09db281801a6d9d674e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Pupier?= Date: Mon, 9 Mar 2026 11:55:50 +0100 Subject: [PATCH 01/10] AVRO-4191 - include tests on JDK 25 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Aurélien Pupier --- .github/workflows/codeql-java-analysis.yml | 3 ++- .github/workflows/java-publish-snapshot.yml | 3 ++- .github/workflows/maven4.yml | 3 ++- .github/workflows/test-lang-java.yml | 10 ++++++---- lang/java/avro/pom.xml | 16 ++++++++++++++++ 5 files changed, 28 insertions(+), 7 deletions(-) diff --git a/.github/workflows/codeql-java-analysis.yml b/.github/workflows/codeql-java-analysis.yml index e0fc0516f89..c71eec79e2a 100644 --- a/.github/workflows/codeql-java-analysis.yml +++ b/.github/workflows/codeql-java-analysis.yml @@ -70,7 +70,7 @@ jobs: # queries: ./path/to/local/query, your-org/your-repo/queries@main queries: +security-and-quality - - name: 'Setup Temurin JDK 8, 11, 17 & 21' + - name: 'Setup Temurin JDK 8, 11, 17, 21 & 25' uses: actions/setup-java@v5 with: distribution: 'temurin' @@ -79,6 +79,7 @@ jobs: 11 17 21 + 25 - name: 'Setup Maven 3.9.11' uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 diff --git a/.github/workflows/java-publish-snapshot.yml b/.github/workflows/java-publish-snapshot.yml index 0aa895f64d4..317902a92b4 100644 --- a/.github/workflows/java-publish-snapshot.yml +++ b/.github/workflows/java-publish-snapshot.yml @@ -43,7 +43,7 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: 'Setup Temurin JDK 8, 11, 17 & 21' + - name: 'Setup Temurin JDK 8, 11, 17, 21 & 25' uses: actions/setup-java@v5 with: distribution: 'temurin' @@ -52,6 +52,7 @@ jobs: 11 17 21 + 25 - name: 'Setup Maven' uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 diff --git a/.github/workflows/maven4.yml b/.github/workflows/maven4.yml index c7a65467f87..baf71eeb1fb 100644 --- a/.github/workflows/maven4.yml +++ b/.github/workflows/maven4.yml @@ -50,7 +50,7 @@ jobs: restore-keys: | ${{ runner.os }}-maven-build-cache - - name: 'Setup Temurin JDK 8, 11, 17 & 21' + - name: 'Setup Temurin JDK 8, 11, 17, 21 & 25' uses: actions/setup-java@v5 with: distribution: 'temurin' @@ -59,6 +59,7 @@ jobs: 11 17 21 + 25 - name: Setup Maven 4 uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 diff --git a/.github/workflows/test-lang-java.yml b/.github/workflows/test-lang-java.yml index 5cf2d22df0d..823d3b42052 100644 --- a/.github/workflows/test-lang-java.yml +++ b/.github/workflows/test-lang-java.yml @@ -54,7 +54,7 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: "Setup Temurin JDK 11, 17 & 21" + - name: "Setup Temurin JDK 11, 17, 21 & 25" uses: actions/setup-java@v5 with: distribution: "temurin" @@ -62,6 +62,7 @@ jobs: 11 17 21 + 25 - name: "Setup Maven 3.9.11" uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 @@ -106,7 +107,7 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: "Setup Temurin JDK 11, 17 & 21" + - name: "Setup Temurin JDK 11, 17, 21 & 25" uses: actions/setup-java@v5 with: distribution: "temurin" @@ -114,6 +115,7 @@ jobs: 11 17 21 + 25 - name: "Setup Maven 3.9.11" uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 @@ -164,10 +166,10 @@ jobs: working-directory: . run: mvn -B install -PskipQuality - - name: "Generate Interop Data using Java 11, 17 & 21" + - name: "Generate Interop Data using Java 11, 17, 21 & 25" working-directory: lang/java/interop-data-test run: mvn -B verify -Pgenerate-test-data - - name: "Run Interop Tests using Java 11, 17 & 21" + - name: "Run Interop Tests using Java 11, 17, 21 & 25" working-directory: lang/java/interop-data-test run: mvn -B verify -Pcheck-test-data diff --git a/lang/java/avro/pom.xml b/lang/java/avro/pom.xml index 8cab8b75f5c..03b16b7d2f4 100644 --- a/lang/java/avro/pom.xml +++ b/lang/java/avro/pom.xml @@ -200,6 +200,22 @@ ${project.build.directory}/it-jdk-21 + + + Run all tests under Java 25 + + run + + + + [25,26) + + + 25 + + ${project.build.directory}/it-jdk-25 + + From c03c4f3f6258472b312e32f1b454c490fb5023fa Mon Sep 17 00:00:00 2001 From: Martin Tzvetanov Grigorov Date: Mon, 9 Mar 2026 13:34:10 +0200 Subject: [PATCH 02/10] Trigger the build --- lang/java/build.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lang/java/build.sh b/lang/java/build.sh index 5020a6ed0ca..7b91021d42e 100755 --- a/lang/java/build.sh +++ b/lang/java/build.sh @@ -15,8 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set -e -set -x +set -ex usage() { echo "Usage: $0 {lint|test|dist|clean}" From 127f2da5235f0aec48ec0c8315e737403bc6cfc6 Mon Sep 17 00:00:00 2001 From: Martin Tzvetanov Grigorov Date: Mon, 9 Mar 2026 13:35:32 +0200 Subject: [PATCH 03/10] Revert "Trigger the build" This reverts commit e9020958d5b40e6ae6dd5a7d980b0ff06adf0984. --- lang/java/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lang/java/build.sh b/lang/java/build.sh index 7b91021d42e..5020a6ed0ca 100755 --- a/lang/java/build.sh +++ b/lang/java/build.sh @@ -15,7 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -set -ex +set -e +set -x usage() { echo "Usage: $0 {lint|test|dist|clean}" From 6196f65b8f84c2c31199b939184552308bd6d7e7 Mon Sep 17 00:00:00 2001 From: Martin Tzvetanov Grigorov Date: Mon, 9 Mar 2026 13:37:51 +0200 Subject: [PATCH 04/10] Yaml formatting to fix the CI workflows ``` Invalid workflow file: .github/workflows/codeql-java-analysis.yml#L77 You have an error in your yaml syntax on line 77 ``` ``` Invalid workflow file: .github/workflows/test-lang-java.yml#L61 You have an error in your yaml syntax on line 61 ``` --- .github/workflows/codeql-java-analysis.yml | 2 +- .github/workflows/test-lang-java.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-java-analysis.yml b/.github/workflows/codeql-java-analysis.yml index c71eec79e2a..f3d4423467a 100644 --- a/.github/workflows/codeql-java-analysis.yml +++ b/.github/workflows/codeql-java-analysis.yml @@ -79,7 +79,7 @@ jobs: 11 17 21 - 25 + 25 - name: 'Setup Maven 3.9.11' uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 diff --git a/.github/workflows/test-lang-java.yml b/.github/workflows/test-lang-java.yml index 823d3b42052..ed936319bbb 100644 --- a/.github/workflows/test-lang-java.yml +++ b/.github/workflows/test-lang-java.yml @@ -62,7 +62,7 @@ jobs: 11 17 21 - 25 + 25 - name: "Setup Maven 3.9.11" uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 @@ -115,7 +115,7 @@ jobs: 11 17 21 - 25 + 25 - name: "Setup Maven 3.9.11" uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 From c64492700ef1735074479b3b18cf1292b54aa98a Mon Sep 17 00:00:00 2001 From: Martin Tzvetanov Grigorov Date: Mon, 9 Mar 2026 13:45:34 +0200 Subject: [PATCH 05/10] Use a matrix to build with all supported JDK versions --- .github/workflows/test-lang-java.yml | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test-lang-java.yml b/.github/workflows/test-lang-java.yml index ed936319bbb..15df3a8e80a 100644 --- a/.github/workflows/test-lang-java.yml +++ b/.github/workflows/test-lang-java.yml @@ -42,6 +42,11 @@ jobs: os: - ubuntu-latest - ubuntu-24.04-arm + jdk: + - 11 + - 17 + - 21 + - 25 steps: - name: "Checkout sourcecode" uses: actions/checkout@v7 @@ -54,15 +59,11 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: "Setup Temurin JDK 11, 17, 21 & 25" + - name: "Setup Temurin JDK ${{ matrix.jdk }}" uses: actions/setup-java@v5 with: distribution: "temurin" - java-version: | - 11 - 17 - 21 - 25 + java-version: ${{ matrix.jdk }} - name: "Setup Maven 3.9.11" uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 @@ -95,6 +96,11 @@ jobs: os: - ubuntu-latest - ubuntu-24.04-arm + jdk: + - 11 + - 17 + - 21 + - 25 steps: - uses: actions/checkout@v7 @@ -107,15 +113,11 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: "Setup Temurin JDK 11, 17, 21 & 25" + - name: "Setup Temurin JDK ${{ matrix.jdk }}" uses: actions/setup-java@v5 with: distribution: "temurin" - java-version: | - 11 - 17 - 21 - 25 + java-version: ${{ matrix.jdk }} - name: "Setup Maven 3.9.11" uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 From f437b70c131ebb2c4fa685dd4b448c7e521b3c30 Mon Sep 17 00:00:00 2001 From: Martin Tzvetanov Grigorov Date: Mon, 9 Mar 2026 13:54:30 +0200 Subject: [PATCH 06/10] Avro 1.13.x will require JDK 17+ Jetty 12.x requires JDK 17+ --- .github/workflows/codeql-java-analysis.yml | 2 -- .github/workflows/maven4.yml | 4 +--- .github/workflows/test-lang-java.yml | 2 -- pom.xml | 2 +- 4 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/codeql-java-analysis.yml b/.github/workflows/codeql-java-analysis.yml index f3d4423467a..c490a0d26de 100644 --- a/.github/workflows/codeql-java-analysis.yml +++ b/.github/workflows/codeql-java-analysis.yml @@ -75,8 +75,6 @@ jobs: with: distribution: 'temurin' java-version: | - 8 - 11 17 21 25 diff --git a/.github/workflows/maven4.yml b/.github/workflows/maven4.yml index baf71eeb1fb..99901ef2383 100644 --- a/.github/workflows/maven4.yml +++ b/.github/workflows/maven4.yml @@ -55,11 +55,9 @@ jobs: with: distribution: 'temurin' java-version: | - 8 - 11 17 21 - 25 + 25 - name: Setup Maven 4 uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 diff --git a/.github/workflows/test-lang-java.yml b/.github/workflows/test-lang-java.yml index 15df3a8e80a..17e0a8b1826 100644 --- a/.github/workflows/test-lang-java.yml +++ b/.github/workflows/test-lang-java.yml @@ -43,7 +43,6 @@ jobs: - ubuntu-latest - ubuntu-24.04-arm jdk: - - 11 - 17 - 21 - 25 @@ -97,7 +96,6 @@ jobs: - ubuntu-latest - ubuntu-24.04-arm jdk: - - 11 - 17 - 21 - 25 diff --git a/pom.xml b/pom.xml index 34f0171d7f2..f033c98d667 100644 --- a/pom.xml +++ b/pom.xml @@ -247,7 +247,7 @@ - 21 + 17 [3.9.6,) From e60047a4cdc5cde78b4a36b6a4facab3b4fcea57 Mon Sep 17 00:00:00 2001 From: Martin Tzvetanov Grigorov Date: Mon, 9 Mar 2026 14:00:26 +0200 Subject: [PATCH 07/10] Use Checkstyle 11.x to be able to build with JDK 17 https://checkstyle.org/index.html --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f033c98d667..db7b4223156 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 0.18 3.6.0 - 13.3.0 + 12.3.1 3.6.3 1.12.0 3.2.0 From 6eaafab78f78217bf4f4982d79bc4ee5f0a64f9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Pupier?= Date: Mon, 9 Mar 2026 14:00:01 +0100 Subject: [PATCH 08/10] AVRO-4191 - Update Java Maven toolchain in Build.MD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Aurélien Pupier --- BUILD.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD.md b/BUILD.md index 217630b625d..bdb0c0007bf 100644 --- a/BUILD.md +++ b/BUILD.md @@ -4,7 +4,7 @@ The following packages must be installed before Avro can be built: - - Java: 11, 17 and 21 with the appropriate toolchain config, Maven 3.9.6 or better, protobuf-compile + - Java: 17, 21 and 25 with the appropriate toolchain config, Maven 3.9.6 or better, protobuf-compile - PHP: php8, phpunit, php8-gmp - Python 3: 3.10 or greater, tox (tox will install other dependencies as needed) - C: gcc, cmake, asciidoc, source-highlight, Jansson, pkg-config From a1da83397bd7fbcc47bf4a93da5b83f643e1b294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Pupier?= Date: Mon, 9 Mar 2026 14:02:07 +0100 Subject: [PATCH 09/10] AVRo-4191 - Fix naming of github steps related to java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit removed Java 8 and 11 Signed-off-by: Aurélien Pupier --- .github/workflows/codeql-java-analysis.yml | 2 +- .github/workflows/java-publish-snapshot.yml | 4 +--- .github/workflows/test-lang-java.yml | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/codeql-java-analysis.yml b/.github/workflows/codeql-java-analysis.yml index c490a0d26de..cfca9c2605e 100644 --- a/.github/workflows/codeql-java-analysis.yml +++ b/.github/workflows/codeql-java-analysis.yml @@ -70,7 +70,7 @@ jobs: # queries: ./path/to/local/query, your-org/your-repo/queries@main queries: +security-and-quality - - name: 'Setup Temurin JDK 8, 11, 17, 21 & 25' + - name: 'Setup Temurin JDK 17, 21 & 25' uses: actions/setup-java@v5 with: distribution: 'temurin' diff --git a/.github/workflows/java-publish-snapshot.yml b/.github/workflows/java-publish-snapshot.yml index 317902a92b4..02699c20e74 100644 --- a/.github/workflows/java-publish-snapshot.yml +++ b/.github/workflows/java-publish-snapshot.yml @@ -43,13 +43,11 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: 'Setup Temurin JDK 8, 11, 17, 21 & 25' + - name: 'Setup Temurin JDK 17, 21 & 25' uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: | - 8 - 11 17 21 25 diff --git a/.github/workflows/test-lang-java.yml b/.github/workflows/test-lang-java.yml index 17e0a8b1826..b8ed6cbcca2 100644 --- a/.github/workflows/test-lang-java.yml +++ b/.github/workflows/test-lang-java.yml @@ -166,10 +166,10 @@ jobs: working-directory: . run: mvn -B install -PskipQuality - - name: "Generate Interop Data using Java 11, 17, 21 & 25" + - name: "Generate Interop Data using Java 17, 21 & 25" working-directory: lang/java/interop-data-test run: mvn -B verify -Pgenerate-test-data - - name: "Run Interop Tests using Java 11, 17, 21 & 25" + - name: "Run Interop Tests using Java 17, 21 & 25" working-directory: lang/java/interop-data-test run: mvn -B verify -Pcheck-test-data From be0fd884dd73999499fe74376e55ebb4ef596273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Pupier?= Date: Mon, 9 Mar 2026 14:03:28 +0100 Subject: [PATCH 10/10] AVRo-4191 - remove JDK 11 from test execution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit as 17.x is the minimal version Signed-off-by: Aurélien Pupier --- lang/java/avro/pom.xml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/lang/java/avro/pom.xml b/lang/java/avro/pom.xml index 03b16b7d2f4..afc495183e2 100644 --- a/lang/java/avro/pom.xml +++ b/lang/java/avro/pom.xml @@ -153,22 +153,6 @@ - - Run all tests under Java 11 - - run - - - - [11,12) - - - 11 - - ${project.build.directory}/it-jdk-11 - - - Run all tests under Java 17