From 797036e47f3b22c4e70ff45c6fea6e31df53e5a9 Mon Sep 17 00:00:00 2001 From: Appu Date: Fri, 17 Jul 2026 15:53:15 -0400 Subject: [PATCH] Add java25 checks Signed-off-by: Appu --- .github/workflows/ci.yaml | 2 +- build-logic/jvm/src/main/kotlin/build-logic.java.gradle.kts | 2 +- .../jvm/src/main/kotlin/build-logic.testing.gradle.kts | 3 +++ fuzzing/oss_fuzz_build.sh | 3 ++- sigstore-java/build.gradle.kts | 4 ++-- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ff1a03469..baba51f60 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -20,7 +20,7 @@ jobs: strategy: matrix: # sigstore-java still supports Java 11, however, we test it with conformance-tests only - java-version: [17, 21] + java-version: [17, 21, 25] fail-fast: false concurrency: diff --git a/build-logic/jvm/src/main/kotlin/build-logic.java.gradle.kts b/build-logic/jvm/src/main/kotlin/build-logic.java.gradle.kts index 657775ebf..2808da816 100644 --- a/build-logic/jvm/src/main/kotlin/build-logic.java.gradle.kts +++ b/build-logic/jvm/src/main/kotlin/build-logic.java.gradle.kts @@ -25,7 +25,7 @@ tasks.configureEach { spotless { java { - googleJavaFormat("1.24.0") + googleJavaFormat("1.35.0") licenseHeaderFile("$rootDir/config/licenseHeader") // Note if submodule needs to add more exclusions, it should list ALL of them since // Spotless does not have "addTargetExclude" method diff --git a/build-logic/jvm/src/main/kotlin/build-logic.testing.gradle.kts b/build-logic/jvm/src/main/kotlin/build-logic.testing.gradle.kts index d12777a87..c769fe8cd 100644 --- a/build-logic/jvm/src/main/kotlin/build-logic.testing.gradle.kts +++ b/build-logic/jvm/src/main/kotlin/build-logic.testing.gradle.kts @@ -22,4 +22,7 @@ tasks.withType().configureEach { if (project.hasProperty("skipStaging")) { systemProperty("sigstore-java.test.skipStaging", project.findProperty("skipStaging")!!) } + if (buildParameters.testJdkVersion >= 23) { + jvmArgs("--sun-misc-unsafe-memory-access=deny") + } } diff --git a/fuzzing/oss_fuzz_build.sh b/fuzzing/oss_fuzz_build.sh index b5e8d41cc..700b55f4e 100755 --- a/fuzzing/oss_fuzz_build.sh +++ b/fuzzing/oss_fuzz_build.sh @@ -3,7 +3,8 @@ # TODO: this should be a gradle plugin # build the fuzzing classes and extract dependencies into $OUT -./gradlew :fuzzing:copyToFuzzOut -x test -PfuzzOut="$OUT" +# Exclude spotlessCheck because GJF 1.35.0+ requires JDK 21+ to run, which would crash the build in CIFuzz (currently running on JDK 17). +./gradlew :fuzzing:copyToFuzzOut -x test -x spotlessCheck -PfuzzOut="$OUT" ALL_JARS="" for jarfile in $(find $OUT -name *.jar) do diff --git a/sigstore-java/build.gradle.kts b/sigstore-java/build.gradle.kts index f074fd404..8f2b25a36 100644 --- a/sigstore-java/build.gradle.kts +++ b/sigstore-java/build.gradle.kts @@ -91,12 +91,12 @@ spotless { ) } format("conscrypt", com.diffplug.gradle.spotless.JavaExtension::class.java) { - googleJavaFormat("1.24.0") + googleJavaFormat("1.35.0") licenseHeaderFile("$rootDir/config/conscryptLicenseHeader") target("src/*/java/dev/sigstore/encryption/certificates/transparency/*.java") } format("webPki", com.diffplug.gradle.spotless.JavaExtension::class.java) { - googleJavaFormat("1.24.0") + googleJavaFormat("1.35.0") licenseHeaderFile("$rootDir/config/webPKILicenseHeader") target("src/*/java/dev/sigstore/json/canonicalizer/*.java") }