You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by is...@apache.org on 2026/02/27 02:04:52 UTC
(ignite-3) 03/03: IGNITE-27373 Add new TC suites
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 <is...@apache.org>
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")
- }
})