This is an automated email from the ASF dual-hosted git repository.
mpochatkin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 4f0be3a6441 IGNITE-27589 Add parallelTests feature to gradle modules
(#7424)
4f0be3a6441 is described below
commit 4f0be3a644125e24669a0d56c9a7957313f1d8f5
Author: Vadim Kolodin <[email protected]>
AuthorDate: Tue Jan 20 13:43:19 2026 +0400
IGNITE-27589 Add parallelTests feature to gradle modules (#7424)
---
.teamcity/org/apache/ignite/teamcity/ApacheIgnite3Teamcity.kt | 3 ++-
.teamcity/test/template_types/GradleModule.kt | 6 +++++-
.teamcity/test/template_types/TestsModule.kt | 8 ++++++++
3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/.teamcity/org/apache/ignite/teamcity/ApacheIgnite3Teamcity.kt
b/.teamcity/org/apache/ignite/teamcity/ApacheIgnite3Teamcity.kt
index eee5e3aa8e9..9574c8e3b93 100644
--- a/.teamcity/org/apache/ignite/teamcity/ApacheIgnite3Teamcity.kt
+++ b/.teamcity/org/apache/ignite/teamcity/ApacheIgnite3Teamcity.kt
@@ -195,7 +195,8 @@ class ApacheIgnite3Teamcity {
private val IGNITE__COMPATIBILITY = GradleModule(
"Compatibility",
"ignite-compatibility-tests",
- dependencies =
listOf(":ignite-compatibility-tests:resolveCompatibilityTestDependencies")
+ dependencies =
listOf(":ignite-compatibility-tests:resolveCompatibilityTestDependencies"),
+ parallelTestsEnabled = true
)
private val MIGRATION_TOOLS_CLI = GradleModule(
"Migration Tools - CLI",
diff --git a/.teamcity/test/template_types/GradleModule.kt
b/.teamcity/test/template_types/GradleModule.kt
index 65216b1c0d7..4ad31d7a174 100644
--- a/.teamcity/test/template_types/GradleModule.kt
+++ b/.teamcity/test/template_types/GradleModule.kt
@@ -1,6 +1,10 @@
package test.template_types
-data class GradleModule(val displayName: String, val moduleName: String, val
jvmArgs: String = "", val dependencies: List<String> = emptyList()) {
+/**
+ * @param parallelTestsEnabled split tests of a build into several batches, by
test classes and run them in parallel on suitable build agents.
+ * See
[jetbrains.buildServer.configs.kotlin.buildFeatures.ParallelTestsFeature].
+ */
+data class GradleModule(val displayName: String, val moduleName: String, val
jvmArgs: String = "", val dependencies: List<String> = emptyList(), val
parallelTestsEnabled: Boolean = false) {
fun buildTask(taskName: String): String {
val dependencyTasks = dependencies.joinToString(" ")
val mainTask = ":$moduleName:$taskName"
diff --git a/.teamcity/test/template_types/TestsModule.kt
b/.teamcity/test/template_types/TestsModule.kt
index da76b2a1ae2..7bf55261f14 100644
--- a/.teamcity/test/template_types/TestsModule.kt
+++ b/.teamcity/test/template_types/TestsModule.kt
@@ -2,6 +2,7 @@ package test.template_types
import jetbrains.buildServer.configs.kotlin.BuildStep
import jetbrains.buildServer.configs.kotlin.BuildType
+import jetbrains.buildServer.configs.kotlin.buildFeatures.parallelTests
import org.apache.ignite.teamcity.CustomBuildSteps.Companion.customGradle
import org.apache.ignite.teamcity.CustomBuildSteps.Companion.customScript
import org.apache.ignite.teamcity.Teamcity.Companion.getId
@@ -62,6 +63,13 @@ class TestsModule(
}
}
+ features {
+ parallelTests {
+ enabled = module.parallelTestsEnabled
+ numberOfBatches = 15
+ }
+ }
+
failureConditions {
executionTimeoutMin = configuration.executionTimeoutMin
}