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") - } })
