From 31f2de505a724e6eb919a26e296f23df5fa3d62b 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 b7668b497fd..d5991ecc277 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 c20d218e19e..14713474f33 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 f19c6dcd355..91eeb128a4a 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 993b4165d2e..da3d810826b 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 e9020958d5b40e6ae6dd5a7d980b0ff06adf0984 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 e375497f191d028313d52ba725721d7dd09728a9 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 9fada452daf0e98b165127d69b074cb02c417c38 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 d5991ecc277..3064e1b2e00 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 da3d810826b..a2d9d37c6f2 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 266373a62062bb1a78cc3196d32f20f4dba55440 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 a2d9d37c6f2..5862913604b 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@v6 @@ -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@v6 @@ -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 3bc2f53d4e252c7ebc58cc8befee80c33ef7cf94 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 3064e1b2e00..3559cbd13c2 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 91eeb128a4a..0cc04c93d59 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 5862913604b..3341311aeef 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 c124b05f9f6..ef77e7e45ba 100644 --- a/pom.xml +++ b/pom.xml @@ -247,7 +247,7 @@ - 21 + 17 [3.9.6,) From fb56cf4d2fd2f88f19f5f5b34f813ce21f1432e0 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 ef77e7e45ba..b048cd14b21 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 0.17 3.6.0 - 13.3.0 + 11.1.0 3.6.2 1.11.0 3.2.0 From cacd4140d23c4bc4ceb7ffc474ecc0fa12762476 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 b62da4877a5b87cc36154ed2eb27892c0ce9055b 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 3559cbd13c2..c532576696b 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 14713474f33..dd7e99ecf28 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 3341311aeef..4d168da06b6 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 7c0f0335c3d7a4946df598d18c689cedb8eaddd9 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