This is an automated email from the ASF dual-hosted git repository.

isapego pushed a commit to branch ignite-27373
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 35cd15ba7a8b8d074718b56c8590a0e86cd3823c
Author: Igor Sapego <[email protected]>
AuthorDate: Fri Feb 27 03:04:10 2026 +0100

    IGNITE-27373 Add new TC suites
---
 .teamcity/test/build_types/RunPlatformTests.kt     |  2 +-
 .teamcity/test/platform_tests/RunPythonTests.kt    | 17 ++++++++
 .../test/platform_tests/python_tests/Project.kt    | 27 ++++++++++++
 .../PythonDbApiToxTest.kt}                         | 51 +++++++++++++---------
 4 files changed, 76 insertions(+), 21 deletions(-)

diff --git a/.teamcity/test/build_types/RunPlatformTests.kt 
b/.teamcity/test/build_types/RunPlatformTests.kt
index 40d246e198d..ee2d2aece0f 100644
--- a/.teamcity/test/build_types/RunPlatformTests.kt
+++ b/.teamcity/test/build_types/RunPlatformTests.kt
@@ -18,6 +18,6 @@ object RunPlatformTests : BuildType({
 //        snapshot(PlatformCppTestsWindows) {}  // Always falling, under 
investigation
         snapshot(PlatformDotnetTestsWindows) {}
         snapshot(PlatformDotnetTestsLinux) {}
-        snapshot(PlatformPythonTestsLinux) {}
+        snapshot(RunPythonTests) {}
     }
 })
diff --git a/.teamcity/test/platform_tests/RunPythonTests.kt 
b/.teamcity/test/platform_tests/RunPythonTests.kt
new file mode 100644
index 00000000000..c6edbd35035
--- /dev/null
+++ b/.teamcity/test/platform_tests/RunPythonTests.kt
@@ -0,0 +1,17 @@
+package test.platform_tests
+
+import jetbrains.buildServer.configs.kotlin.BuildType
+import org.apache.ignite.teamcity.Teamcity.Companion.getId
+
+object RunPythonTests : BuildType({
+    id(getId(this::class))
+    name = "-> Run :: Python Tests"
+    description = "Run all Python Tests"
+    type = Type.COMPOSITE
+
+    dependencies {
+        test.platform_tests.python_tests.Project.buildTypes.forEach{
+            snapshot(it) {}
+        }
+    }
+})
diff --git a/.teamcity/test/platform_tests/python_tests/Project.kt 
b/.teamcity/test/platform_tests/python_tests/Project.kt
new file mode 100644
index 00000000000..3b40b9279b9
--- /dev/null
+++ b/.teamcity/test/platform_tests/python_tests/Project.kt
@@ -0,0 +1,27 @@
+package test.platform_tests.python_tests
+
+import jetbrains.buildServer.configs.kotlin.Project
+import org.apache.ignite.teamcity.ApacheIgnite3CustomBuildType
+import org.apache.ignite.teamcity.Teamcity.Companion.getId
+
+object Project : Project({
+    id(getId(this::class))
+    name = "[Python Tests]"
+
+    listOf(
+            Triple("3.10", "py310", "Python DB API Tests - Python 3.10"),
+            Triple("3.11", "py311", "Python DB API Tests - Python 3.11"),
+            Triple("3.12", "py312", "Python DB API Tests - Python 3.12"),
+            Triple("3.13", "py313", "Python DB API Tests - Python 3.13"),
+            Triple("3.14", "py314", "Python DB API Tests - Python 3.14"),
+            Triple("3.14t", "py314", "Python DB API Tests (No GIL) - Python 
3.14"),
+    ).forEach { (ver, toxEnv, name) ->
+        buildType(
+            ApacheIgnite3CustomBuildType.Builder(PythonDbApiToxTest(ver, 
toxEnv, name))
+                .ignite3VCS().ignite3CommitStatusPublisher()
+                .defaultBuildTypeSettings().requireLinux()
+                .build().buildType
+        )
+    }
+})
+
diff --git a/.teamcity/test/platform_tests/PlatformPythonTestsLinux.kt 
b/.teamcity/test/platform_tests/python_tests/PythonDbApiToxTest.kt
similarity index 73%
rename from .teamcity/test/platform_tests/PlatformPythonTestsLinux.kt
rename to .teamcity/test/platform_tests/python_tests/PythonDbApiToxTest.kt
index 55ca54a7038..f86cef75339 100644
--- a/.teamcity/test/platform_tests/PlatformPythonTestsLinux.kt
+++ b/.teamcity/test/platform_tests/python_tests/PythonDbApiToxTest.kt
@@ -1,26 +1,30 @@
-package test.platform_tests
+package test.platform_tests.python_tests
 
+import jetbrains.buildServer.configs.kotlin.BuildStep
 import jetbrains.buildServer.configs.kotlin.BuildType
 import jetbrains.buildServer.configs.kotlin.ParameterDisplay
-import jetbrains.buildServer.configs.kotlin.buildSteps.*
-import 
jetbrains.buildServer.configs.kotlin.failureConditions.BuildFailureOnMetric
-import 
jetbrains.buildServer.configs.kotlin.failureConditions.BuildFailureOnText
-import 
jetbrains.buildServer.configs.kotlin.failureConditions.failOnMetricChange
-import jetbrains.buildServer.configs.kotlin.failureConditions.failOnText
-import org.apache.ignite.teamcity.CustomBuildSteps.Companion.customGradle
+import jetbrains.buildServer.configs.kotlin.buildSteps.gradle
+import jetbrains.buildServer.configs.kotlin.buildSteps.script
+import org.apache.ignite.teamcity.CustomBuildSteps.Companion.customScript
 import org.apache.ignite.teamcity.Teamcity
+import org.apache.ignite.teamcity.Teamcity.Companion.hiddenText
 
-
-object PlatformPythonTestsLinux : BuildType({
-    id(Teamcity.getId(this::class))
-    name = "Platform Python Tests (Linux)"
+class PythonDbApiToxTest(
+        private val pythonVersion: String,
+        private val toxEnv: String,
+        private val suiteName: String
+) : BuildType({
+    id(Teamcity.getId(this::class, toxEnv, true))
+    name = suiteName
 
     params {
         text("PATH__WORKING_DIR", 
"""%VCSROOT__IGNITE3%\modules\platforms\python\dbapi""", display = 
ParameterDisplay.HIDDEN, allowEmpty = true)
-        param("env.IGNITE_CPP_TESTS_USE_SINGLE_NODE", "")
-        param("env.CPP_STAGING", """%PATH__WORKING_DIR%\cpp_staging""")
-        param("TOX_ENV", "py310")
-        param("PYTHON_VERSION", "3.10")
+        param("TOX_ENV", toxEnv)
+        param("PYTHON_VERSION", pythonVersion)
+    }
+
+    requirements {
+        equals("env.DIND_ENABLED", "true")
     }
 
     steps {
@@ -29,7 +33,18 @@ object PlatformPythonTestsLinux : BuildType({
             tasks = ":ignite-runner:integrationTestClasses"
         }
         script {
-            name = "Python Client tests"
+            name = "Update pyenv"
+            workingDir = "%PATH__WORKING_DIR%"
+            scriptContent = """
+                set -x
+                eval "${'$'}(pyenv init - dash)"
+
+                cd "${'$'}(pyenv root)"
+                git pull
+            """.trimIndent()
+        }
+        script {
+            name = "Run tox"
             workingDir = "%PATH__WORKING_DIR%"
             scriptContent = """
                 #!/usr/bin/env bash
@@ -84,8 +99,4 @@ object PlatformPythonTestsLinux : BuildType({
             reverse = false
         }
     }
-
-    requirements {
-        equals("env.DIND_ENABLED", "true")
-    }
 })

Reply via email to