diff --git a/master-galera/master.cfg b/master-galera/master.cfg index c4924bb27..a080c3086 100644 --- a/master-galera/master.cfg +++ b/master-galera/master.cfg @@ -129,6 +129,8 @@ c["workers"].append( # Docker workers GALERA_PACKAGES = os.environ["GALERA_PACKAGES_DIR"] +SAN_WORKERS = ["ubasan-clang-20", "ubasan-clang-20-debug"] + workers = defaultdict(list) @@ -213,6 +215,18 @@ for platform in ALL_PLATFORMS: jobs=jobs, save_packages=True, ) + if platform != "amd64": + continue + # UBSAN/ASAN + for san_worker in SAN_WORKERS: + addWorker( + w_name, + i, + san_worker, + os.environ["CONTAINER_REGISTRY_URL"] + "debian12-msan-clang-20", + jobs=jobs, + save_packages=True, + ) def dpkgDeb(): @@ -448,3 +462,32 @@ for os_i in OS_INFO: factory=factory, ) ) + + +# SAN +# CMAKE_OPTS: -DGALERA_WITH_UBSAN=ON - waiting on https://github.com/MariaDB/galera/pull/39 (or equivalent) +# +for san_worker in SAN_WORKERS: + # tags=["ubasan", "ubsan", ... + tags = ["asan", "galera", "clang"] + env = { + "CMAKE_OPTS": "-DGALERA_WITH_ASAN=ON -DGALERA_WITH_ASAN_SCOPED=ON", + "CC": "clang", + "CXX": "clang++", + } + if "debug" in san_worker: + tags += "debug" + env["DEBUG"] = "yes" + + worker_name = "x64-bbw-docker-" + san_worker + c["builders"].append( + util.BuilderConfig( + name="gal-" + san_worker, + workernames=workers[worker_name], + tags=tags, + collapseRequests=True, + nextBuild=nextBuild, + env=env, + factory=f_deb_build, + ) + )