Build: Create GroupedByGradleVersion Gradle IT test tasks only on CI

All those tasks are displayed in the gutter when running a test making
it very long.
This commit is contained in:
Vyacheslav Gerasimov
2024-03-05 14:29:38 +01:00
committed by Space Team
parent 679e6f0504
commit 2e787c50be
@@ -293,35 +293,38 @@ val gradleVersions = listOf(
"8.5", "8.5",
"8.6" "8.6"
) )
val junitTags = listOf("JvmKGP", "DaemonsKGP", "JsKGP", "NativeKGP", "MppKGP", "AndroidKGP", "OtherKGP")
val requiresKotlinNative = listOf("NativeKGP", "MppKGP", "OtherKGP")
val gradleVersionTaskGroup = "Kotlin Gradle Plugin Verification grouped by Gradle version"
junitTags.forEach { junitTag -> if (project.kotlinBuildProperties.isTeamcityBuild) {
val taskPrefix = "kgp${junitTag.substringBefore("KGP")}" val junitTags = listOf("JvmKGP", "DaemonsKGP", "JsKGP", "NativeKGP", "MppKGP", "AndroidKGP", "OtherKGP")
val tasksByGradleVersion = gradleVersions.map { gradleVersion -> val requiresKotlinNative = listOf("NativeKGP", "MppKGP", "OtherKGP")
tasks.register<Test>("${taskPrefix}TestsForGradle_${gradleVersion.replace(".", "_")}") { val gradleVersionTaskGroup = "Kotlin Gradle Plugin Verification grouped by Gradle version"
group = gradleVersionTaskGroup
description = "Runs all tests for Kotlin Gradle plugins against Gradle $gradleVersion"
maxParallelForks = maxParallelTestForks
systemProperty("gradle.integration.tests.gradle.version.filter", gradleVersion) junitTags.forEach { junitTag ->
systemProperty("junit.jupiter.extensions.autodetection.enabled", "true") val taskPrefix = "kgp${junitTag.substringBefore("KGP")}"
if (junitTag in requiresKotlinNative) { val tasksByGradleVersion = gradleVersions.map { gradleVersion ->
applyKotlinNativeFromCurrentBranchIfNeeded() tasks.register<Test>("${taskPrefix}TestsForGradle_${gradleVersion.replace(".", "_")}") {
} group = gradleVersionTaskGroup
description = "Runs all tests for Kotlin Gradle plugins against Gradle $gradleVersion"
maxParallelForks = maxParallelTestForks
useJUnitPlatform { systemProperty("gradle.integration.tests.gradle.version.filter", gradleVersion)
includeTags(junitTag) systemProperty("junit.jupiter.extensions.autodetection.enabled", "true")
excludeTags(*(junitTags - junitTag).toTypedArray()) if (junitTag in requiresKotlinNative) {
includeEngines("junit-jupiter") applyKotlinNativeFromCurrentBranchIfNeeded()
}
useJUnitPlatform {
includeTags(junitTag)
excludeTags(*(junitTags - junitTag).toTypedArray())
includeEngines("junit-jupiter")
}
} }
} }
}
tasks.register("${taskPrefix}TestsGroupedByGradleVersion") { tasks.register("${taskPrefix}TestsGroupedByGradleVersion") {
group = gradleVersionTaskGroup group = gradleVersionTaskGroup
dependsOn(tasksByGradleVersion) dependsOn(tasksByGradleVersion)
}
} }
} }