Skip to content

Commit 5adf9f5

Browse files
authored
Merge pull request #1107 from vlsi/gradle_versions
test: improve Gradle compatibility matrix
2 parents 7082fbe + ec50e28 commit 5adf9f5

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

build-logic/jvm/src/main/kotlin/build-logic.testing.gradle.kts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ plugins {
66
tasks.withType<Test>().configureEach {
77
buildParameters.testJdk?.let {
88
javaLauncher.convention(javaToolchains.launcherFor(it))
9+
// Pass JAVA_HOME for testJdkVersion to the test task, so it can spawn Gradle using the given Java home
10+
jvmArgumentProviders.add(
11+
CommandLineArgumentProvider {
12+
listOf("-Dsigstore-java.test.JAVA_HOME=${javaLauncher.get().metadata.installationPath.asFile.absolutePath}")
13+
}
14+
)
915
}
1016
if (project.hasProperty("skipOidc")) {
1117
systemProperty("sigstore-java.test.skipOidc", project.findProperty("skipOidc")!!)

sigstore-testkit/src/main/kotlin/dev/sigstore/testkit/BaseGradleTest.kt

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package dev.sigstore.testkit
1818

1919
import org.assertj.core.api.AbstractCharSequenceAssert
2020
import org.assertj.core.api.SoftAssertions
21+
import org.gradle.api.JavaVersion
2122
import org.gradle.testkit.runner.GradleRunner
2223
import org.gradle.testkit.runner.internal.DefaultGradleRunner
2324
import org.gradle.util.GradleVersion
@@ -40,27 +41,42 @@ open class BaseGradleTest {
4041
}
4142

4243
// to debug these tests, add .withDebug(true) before running a test in debug mode
43-
protected val gradleRunner = GradleRunner.create().withPluginClasspath()
44+
protected val gradleRunner = GradleRunner
45+
.create()
46+
.withPluginClasspath()
47+
.withEnvironment(mapOf("JAVA_HOME" to TEST_JAVA_HOME))
4448

4549
companion object {
4650
val isCI = System.getenv().containsKey("CI") || System.getProperties().containsKey("CI")
4751

4852
val EXTRA_LOCAL_REPOS = System.getProperty("sigstore.test.local.maven.repo").split(File.pathSeparatorChar)
4953

54+
val TEST_JAVA_HOME = System.getProperty("sigstore-java.test.JAVA_HOME")
55+
5056
val SIGSTORE_JAVA_CURRENT_VERSION =
5157
TestedSigstoreJava.LocallyBuiltVersion(
5258
System.getProperty("sigstore.test.current.version")
5359
)
5460

5561
@JvmStatic
56-
fun gradleVersions() = listOf(
62+
fun gradleVersions(): Iterable<GradleVersion> = listOf(
5763
// Gradle 7.2 fails with "No service of type ObjectFactory available in default services"
5864
// So we require Gradle 7.3+
5965
"7.3",
6066
"7.5.1",
6167
"8.1",
6268
"8.5",
69+
"8.7",
70+
"8.10.2",
71+
"8.14.3",
72+
"9.1.0",
73+
"9.2.0",
6374
).map { GradleVersion.version(it) }
75+
.filter {
76+
// See https://docs.gradle.org/current/userguide/compatibility.html
77+
JavaVersion.current() <= JavaVersion.VERSION_21 && it <= GradleVersion.version("8.4") ||
78+
JavaVersion.current() <= JavaVersion.VERSION_25 && it <= GradleVersion.version("9.1.0")
79+
}
6480

6581
@JvmStatic
6682
fun gradleVersionAndSettings(): Iterable<TestedGradle> {

0 commit comments

Comments
 (0)