diff --git a/constants.py b/constants.py index 5519f5f0..6b63bf61 100644 --- a/constants.py +++ b/constants.py @@ -125,6 +125,7 @@ "amd64-fedora-40-valgrind", "amd64-freebsd-14", "amd64-msan-clang-20", + "amd64-msan-clang-22", "amd64-openeuler-2403", "amd64-openssl3-fips", "amd64-rhel-7", @@ -178,10 +179,13 @@ "amd64-debian-12-debug-embedded", "amd64-fedora-42", "amd64-msan-clang-20-debug", + "amd64-msan-clang-22-debug", "amd64-opensuse-1506", "amd64-rhel-10", "amd64-ubasan-clang-20", + "amd64-ubasan-clang-22", "amd64-ubasan-clang-20-debug", + "amd64-ubasan-clang-22-debug", "amd64-ubuntu-2404", "ppc64le-centos-stream10", "ppc64le-rhel-10", diff --git a/master-migration/master.cfg b/master-migration/master.cfg index 9426e47d..ed1da507 100644 --- a/master-migration/master.cfg +++ b/master-migration/master.cfg @@ -8,7 +8,7 @@ import yaml import configuration.builders.definitions.connectors.conc as conc_c_builders import configuration.builders.definitions.connectors.concpp as conc_cc_builders import configuration.builders.definitions.connectors.conodbc as conc_odbc_builders -from configuration.builders.base import GenericBuilder +from configuration.builders.base import GenericBuilder, WorkerBase from configuration.builders.common import ( deb_release_builder, docker_config, @@ -33,6 +33,8 @@ from configuration.schedulers.connectors import ( from configuration.workers import worker from master_common import IS_CHECKCONFIG, base_master_config +from typing import Iterable + ####### VARIABLES cfg_dir = os.path.abspath(os.path.dirname(__file__)) base_dir = os.path.abspath(f"{cfg_dir}/../") @@ -157,7 +159,9 @@ c["builders"].append( ## ------------------------------------------------------------------- ## -def ubasan_builder(name: str, debug: bool) -> GenericBuilder: +def ubasan_builder( + name: str, image: str, debug: bool, workers: Iterable[WorkerBase] +) -> GenericBuilder: tags_ubasan = ("Debian", "clang", "asan", "ubsan", "big") jobs = 12 if debug: @@ -168,22 +172,39 @@ def ubasan_builder(name: str, debug: bool) -> GenericBuilder: sequences=[ asan_ubsan( jobs=jobs, - config=docker_config(image="debian12-msan-clang-20", shm_size="24g"), + config=docker_config(image=image, shm_size="24g"), isDebugBuildType=debug, ) ], ).get_config( - workers=DEFAULT_AMD64_WORKER_POOL, + workers=workers, tags=list(tags_ubasan), jobs=jobs, ) -for builder in ["amd64-ubasan-clang-20", "amd64-ubasan-clang-20-debug"]: - c["builders"].append(ubasan_builder(name=builder, debug=builder.endswith("debug"))) +sg_bbw1 = WORKER_POOL.get_workers_for_arch(arch="amd64", names=["sg-bbw1"]) +for builder, image, workers in [ + ("amd64-ubasan-clang-20", "debian12-msan-clang-20", DEFAULT_AMD64_WORKER_POOL), + ( + "amd64-ubasan-clang-20-debug", + "debian12-msan-clang-20", + DEFAULT_AMD64_WORKER_POOL, + ), + ("amd64-ubasan-clang-22", "debian13-msan-clang-22", sg_bbw1), + ("amd64-ubasan-clang-22-debug", "debian13-msan-clang-22", sg_bbw1), +]: + c["builders"].append( + ubasan_builder( + name=builder, image=image, debug=builder.endswith("debug"), workers=workers + ) + ) -def msan_builder(name: str, debug: bool) -> GenericBuilder: + +def msan_builder( + name: str, image: str, debug: bool, workers: Iterable[WorkerBase] +) -> GenericBuilder: tags_msan = ("Debian", "clang", "msan", "big") jobs = 12 if debug: @@ -195,19 +216,27 @@ def msan_builder(name: str, debug: bool) -> GenericBuilder: sequences=[ msan( jobs=jobs, - config=docker_config(image="debian12-msan-clang-20", shm_size="24g"), + config=docker_config(image=image, shm_size="24g"), isDebugBuildType=debug, ) ], ).get_config( - workers=DEFAULT_AMD64_WORKER_POOL, + workers=workers, tags=list(tags_msan), jobs=jobs, ) -builder = "amd64-msan-clang-20-debug" -c["builders"].append(msan_builder(name=builder, debug=builder.endswith("debug"))) +for builder, image, workers in [ + ("amd64-msan-clang-20-debug", "debian12-msan-clang-20", DEFAULT_AMD64_WORKER_POOL), + ("amd64-msan-clang-22", "debian13-msan-clang-22", sg_bbw1), + ("amd64-msan-clang-22-debug", "debian13-msan-clang-22", sg_bbw1), +]: + c["builders"].append( + msan_builder( + name=builder, image=image, debug=builder.endswith("debug"), workers=workers + ) + ) ## ------------------------------------------------------------------- ## ## MTR EXTENDED COVERAGE BUILDERS ##