From 879aa33a9c0815239cb8d8357e76f3e744c2edc2 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Tue, 5 Mar 2024 17:04:47 +0100 Subject: [PATCH] Build: Apply ConcurrencyLimitService to all tests tasks in the project Some project tasks are not created with projectTest helper, but all tasks should be limited since we can't use `--no-parallel` on CI --- .../src/main/kotlin/common-configuration.gradle.kts | 8 ++++++++ .../buildsrc-compat/src/main/kotlin/tasks.kt | 5 ----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/common-configuration.gradle.kts b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/common-configuration.gradle.kts index 50231e81c8e..f420608bc74 100644 --- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/common-configuration.gradle.kts +++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/common-configuration.gradle.kts @@ -274,8 +274,16 @@ fun Project.configureTests() { } } + val concurrencyLimitService = project.gradle.sharedServices.registerIfAbsent( + "concurrencyLimitService", + ConcurrencyLimitService::class + ) { + maxParallelUsages = 1 + } + tasks.withType().configureEach { outputs.doNotCacheIf("https://youtrack.jetbrains.com/issue/KTI-112") { true } + usesService(concurrencyLimitService) } // Aggregate task for build related checks diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt index 895783db4c3..bdd3185527c 100644 --- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt +++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt @@ -138,10 +138,6 @@ fun Project.projectTest( defineJDKEnvVariables: List = emptyList(), body: Test.() -> Unit = {}, ): TaskProvider { - val concurrencyLimitService = - project.gradle.sharedServices.registerIfAbsent("concurrencyLimitService", ConcurrencyLimitService::class) { - maxParallelUsages = 1 - } val shouldInstrument = project.providers.gradleProperty("kotlin.test.instrumentation.disable") .orNull?.toBoolean() != true if (shouldInstrument) { @@ -225,7 +221,6 @@ fun Project.projectTest( defaultMaxMemoryPerTestWorkerMb maxHeapSize = "${maxHeapSizeMb ?: (memoryPerTestProcessMb - maxMetaspaceSizeMb - reservedCodeCacheSizeMb)}m" - usesService(concurrencyLimitService) if (minHeapSizeMb != null) { minHeapSize = "${minHeapSizeMb}m"