diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index d893f761b5..0611e3bb87 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -11,14 +11,14 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - gradle-argument: [ 'assemble && ./gradlew check -x test','testWithJava11', 'testWithJava17', 'test -x testWithJava11 -x testWithJava17' ] + gradle-argument: [ 'assemble && ./gradlew check -x test','testWithJava11', 'testWithJava17','testWithJava21', 'test -x testWithJava11 -x testWithJava17 -x testWithJava21' ] steps: - uses: actions/checkout@v6 - uses: gradle/actions/wrapper-validation@v5 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: - java-version: '21' + java-version: '25' distribution: 'corretto' - name: build and test run: ./gradlew ${{matrix.gradle-argument}} --info --stacktrace @@ -30,15 +30,16 @@ jobs: **/build/test-results/test/TEST-*.xml **/build/test-results/testWithJava11/TEST-*.xml **/build/test-results/testWithJava17/TEST-*.xml + **/build/test-results/testWithJava21/TEST-*.xml javadoc: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: gradle/actions/wrapper-validation@v5 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: - java-version: '21' + java-version: '25' distribution: 'corretto' - name: Verify Javadoc run: ./gradlew javadoc --info --stacktrace @@ -55,10 +56,10 @@ jobs: steps: - uses: actions/checkout@v6 - uses: gradle/actions/wrapper-validation@v5 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: - java-version: '21' + java-version: '25' distribution: 'corretto' - name: publishToMavenCentral run: ./gradlew assemble && ./gradlew check -x test -x testng --info && ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository -x check --info --stacktrace diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index f57a62ef75..07099c34a0 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -20,14 +20,14 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - gradle-argument: [ 'assemble && ./gradlew check -x test','testWithJava11', 'testWithJava17', 'test -x testWithJava11 -x testWithJava17' ] + gradle-argument: [ 'assemble && ./gradlew check -x test','testWithJava11', 'testWithJava17','testWithJava21', 'test -x testWithJava11 -x testWithJava17 -x testWithJava21' ] steps: - uses: actions/checkout@v6 - uses: gradle/actions/wrapper-validation@v5 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: - java-version: '21' + java-version: '25' distribution: 'corretto' - name: build and test run: ./gradlew ${{matrix.gradle-argument}} --info --stacktrace @@ -39,15 +39,16 @@ jobs: **/build/test-results/test/TEST-*.xml **/build/test-results/testWithJava11/TEST-*.xml **/build/test-results/testWithJava17/TEST-*.xml + **/build/test-results/testWithJava21/TEST-*.xml javadoc: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: gradle/actions/wrapper-validation@v5 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: - java-version: '21' + java-version: '25' distribution: 'corretto' - name: Verify Javadoc run: ./gradlew javadoc --info --stacktrace diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8eb18b440b..4e1d5fb29f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,10 +21,10 @@ jobs: steps: - uses: actions/checkout@v6 - uses: gradle/actions/wrapper-validation@v5 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: - java-version: '21' + java-version: '25' distribution: 'corretto' - name: build test and publish run: ./gradlew assemble && ./gradlew check --info && ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository -x check --info --stacktrace diff --git a/AGENTS.md b/AGENTS.md index 50afcbce83..369e771d62 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,5 +7,5 @@ This file provides context for AI assistants working with this codebase. When running tests, exclude the Java version-specific test tasks to avoid failures: ```bash -./gradlew test -x testWithJava17 -x testWithJava11 -x testng +./gradlew test -x testWithJava21 -x testWithJava17 -x testWithJava11 -x testng ``` diff --git a/build.gradle b/build.gradle index a9276fe452..fd9a2d0979 100644 --- a/build.gradle +++ b/build.gradle @@ -357,6 +357,12 @@ tasks.withType(Test) { } } +tasks.register('testWithJava21', Test) { + javaLauncher = javaToolchains.launcherFor { + languageVersion = JavaLanguageVersion.of(21) + } +} + tasks.register('testWithJava17', Test) { javaLauncher = javaToolchains.launcherFor { languageVersion = JavaLanguageVersion.of(17) @@ -385,6 +391,7 @@ tasks.register('testWithJava11', Test) { } +test.dependsOn testWithJava21 test.dependsOn testWithJava17 test.dependsOn testWithJava11