CI: Add ARM+TSAN build and functional tests

This commit is contained in:
Max Kainov 2024-10-30 17:18:51 +01:00
parent 0fd196771e
commit 38d163bbb4
3 changed files with 23 additions and 0 deletions

View File

@ -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,10 @@ 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
),

View File

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

View File

@ -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: