diff --git a/tests/ci/ci_config.py b/tests/ci/ci_config.py index a170dfdd8d1..37dd4f6a3e6 100644 --- a/tests/ci/ci_config.py +++ b/tests/ci/ci_config.py @@ -112,6 +112,15 @@ class CI: ), runner_type=Runners.BUILDER_AARCH64, ), + BuildNames.PACKAGE_AARCH64_TSAN: CommonJobConfigs.BUILD.with_properties( + build_config=BuildConfig( + name=BuildNames.PACKAGE_AARCH64_TSAN, + compiler="clang-18-aarch64", + sanitizer="thread", + package_type="deb", + ), + runner_type=Runners.BUILDER_AARCH64, + ), BuildNames.PACKAGE_ASAN: CommonJobConfigs.BUILD.with_properties( build_config=BuildConfig( name=BuildNames.PACKAGE_ASAN, @@ -293,6 +302,10 @@ class CI: required_builds=[BuildNames.PACKAGE_AARCH64_ASAN], runner_type=Runners.FUNC_TESTER_AARCH64, ), + JobNames.STATEFUL_TEST_AARCH64_TSAN: CommonJobConfigs.STATEFUL_TEST.with_properties( + required_builds=[BuildNames.PACKAGE_AARCH64_TSAN], + runner_type=Runners.FUNC_TESTER_AARCH64, + ), JobNames.STATEFUL_TEST_TSAN: CommonJobConfigs.STATEFUL_TEST.with_properties( required_builds=[BuildNames.PACKAGE_TSAN] ), @@ -349,6 +362,11 @@ class CI: JobNames.STATELESS_TEST_TSAN: CommonJobConfigs.STATELESS_TEST.with_properties( required_builds=[BuildNames.PACKAGE_TSAN], num_batches=4 ), + JobNames.STATELESS_TEST_AARCH64_TSAN: CommonJobConfigs.STATELESS_TEST.with_properties( + required_builds=[BuildNames.PACKAGE_AARCH64_TSAN], + num_batches=4, + runner_type=Runners.FUNC_TESTER_AARCH64, + ), JobNames.STATELESS_TEST_MSAN: CommonJobConfigs.STATELESS_TEST.with_properties( required_builds=[BuildNames.PACKAGE_MSAN], num_batches=4 ), diff --git a/tests/ci/ci_definitions.py b/tests/ci/ci_definitions.py index d55e347c3ee..d147c111791 100644 --- a/tests/ci/ci_definitions.py +++ b/tests/ci/ci_definitions.py @@ -108,6 +108,7 @@ class BuildNames(metaclass=WithIter): PACKAGE_DEBUG = "package_debug" PACKAGE_AARCH64 = "package_aarch64" PACKAGE_AARCH64_ASAN = "package_aarch64_asan" + PACKAGE_AARCH64_TSAN = "package_aarch64_tsan" PACKAGE_RELEASE_COVERAGE = "package_release_coverage" BINARY_RELEASE = "binary_release" BINARY_TIDY = "binary_tidy" @@ -144,6 +145,7 @@ class JobNames(metaclass=WithIter): STATELESS_TEST_ASAN = "Stateless tests (asan)" STATELESS_TEST_AARCH64_ASAN = "Stateless tests (aarch64, asan)" STATELESS_TEST_TSAN = "Stateless tests (tsan)" + STATELESS_TEST_AARCH64_TSAN = "Stateless tests (aarch64, tsan)" STATELESS_TEST_MSAN = "Stateless tests (msan)" STATELESS_TEST_UBSAN = "Stateless tests (ubsan)" STATELESS_TEST_OLD_ANALYZER_S3_REPLICATED_RELEASE = ( @@ -161,6 +163,7 @@ class JobNames(metaclass=WithIter): STATEFUL_TEST_ASAN = "Stateful tests (asan)" STATEFUL_TEST_AARCH64_ASAN = "Stateful tests (aarch64, asan)" STATEFUL_TEST_TSAN = "Stateful tests (tsan)" + STATEFUL_TEST_AARCH64_TSAN = "Stateful tests (aarch64, tsan)" STATEFUL_TEST_MSAN = "Stateful tests (msan)" STATEFUL_TEST_UBSAN = "Stateful tests (ubsan)" STATEFUL_TEST_PARALLEL_REPL_RELEASE = "Stateful tests (release, ParallelReplicas)" diff --git a/tests/ci/test_ci_config.py b/tests/ci/test_ci_config.py index 65418310c31..97d8b310b81 100644 --- a/tests/ci/test_ci_config.py +++ b/tests/ci/test_ci_config.py @@ -37,6 +37,7 @@ class TestCIConfig(unittest.TestCase): if job.lower() in ( CI.BuildNames.PACKAGE_AARCH64, CI.BuildNames.PACKAGE_AARCH64_ASAN, + CI.BuildNames.PACKAGE_AARCH64_TSAN, ): self.assertTrue( CI.JOB_CONFIGS[job].runner_type @@ -98,6 +99,8 @@ class TestCIConfig(unittest.TestCase): self.assertTrue(CI.JOB_CONFIGS[job].build_config is None) if "asan" in job and "aarch" in job: expected_builds = [CI.BuildNames.PACKAGE_AARCH64_ASAN] + elif "tsan" in job and "aarch" in job: + expected_builds = [CI.BuildNames.PACKAGE_AARCH64_TSAN] elif "asan" in job: expected_builds = [CI.BuildNames.PACKAGE_ASAN] elif "msan" in job: diff --git a/tests/queries/0_stateless/02354_vector_search_expansion_search.sql b/tests/queries/0_stateless/02354_vector_search_expansion_search.sql index 427148b829f..3cfb72130a5 100644 --- a/tests/queries/0_stateless/02354_vector_search_expansion_search.sql +++ b/tests/queries/0_stateless/02354_vector_search_expansion_search.sql @@ -1,4 +1,4 @@ --- Tags: no-fasttest, long, no-asan, no-ubsan, no-debug +-- Tags: no-fasttest, long, no-asan, no-ubsan, no-debug, no-tsan -- ^^ Disable test for slow builds: generating data takes time but a sufficiently large data set -- is necessary for different hnsw_candidate_list_size_for_search settings to make a difference