Skip to content

Commit ff553bf

Browse files
committed
MDBF-1185 msan/ubsan/asan with clang 22
Here we phase in clang 22 as a msan and ubasan builder. New builders get sg_bbw1 as a worker. If all goes well, we'll remove clang-20 out.
1 parent 2371b26 commit ff553bf

2 files changed

Lines changed: 44 additions & 11 deletions

File tree

constants.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@
125125
"amd64-fedora-40-valgrind",
126126
"amd64-freebsd-14",
127127
"amd64-msan-clang-20",
128+
"amd64-msan-clang-22",
128129
"amd64-openeuler-2403",
129130
"amd64-openssl3-fips",
130131
"amd64-rhel-7",
@@ -178,10 +179,13 @@
178179
"amd64-debian-12-debug-embedded",
179180
"amd64-fedora-42",
180181
"amd64-msan-clang-20-debug",
182+
"amd64-msan-clang-22-debug",
181183
"amd64-opensuse-1506",
182184
"amd64-rhel-10",
183185
"amd64-ubasan-clang-20",
186+
"amd64-ubasan-clang-22",
184187
"amd64-ubasan-clang-20-debug",
188+
"amd64-ubasan-clang-22-debug",
185189
"amd64-ubuntu-2404",
186190
"ppc64le-centos-stream10",
187191
"ppc64le-rhel-10",

master-migration/master.cfg

Lines changed: 40 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import yaml
88
import configuration.builders.definitions.connectors.conc as conc_c_builders
99
import configuration.builders.definitions.connectors.concpp as conc_cc_builders
1010
import configuration.builders.definitions.connectors.conodbc as conc_odbc_builders
11-
from configuration.builders.base import GenericBuilder
11+
from configuration.builders.base import GenericBuilder, WorkerBase
1212
from configuration.builders.common import (
1313
deb_release_builder,
1414
docker_config,
@@ -33,6 +33,8 @@ from configuration.schedulers.connectors import (
3333
from configuration.workers import worker
3434
from master_common import IS_CHECKCONFIG, base_master_config
3535

36+
from typing import Iterable
37+
3638
####### VARIABLES
3739
cfg_dir = os.path.abspath(os.path.dirname(__file__))
3840
base_dir = os.path.abspath(f"{cfg_dir}/../")
@@ -157,7 +159,9 @@ c["builders"].append(
157159
## ------------------------------------------------------------------- ##
158160

159161

160-
def ubasan_builder(name: str, debug: bool) -> GenericBuilder:
162+
def ubasan_builder(
163+
name: str, image: str, debug: bool, workers: Iterable[WorkerBase]
164+
) -> GenericBuilder:
161165
tags_ubasan = ("Debian", "clang", "asan", "ubsan", "big")
162166
jobs = 12
163167
if debug:
@@ -168,22 +172,39 @@ def ubasan_builder(name: str, debug: bool) -> GenericBuilder:
168172
sequences=[
169173
asan_ubsan(
170174
jobs=jobs,
171-
config=docker_config(image="debian12-msan-clang-20", shm_size="24g"),
175+
config=docker_config(image=image, shm_size="24g"),
172176
isDebugBuildType=debug,
173177
)
174178
],
175179
).get_config(
176-
workers=DEFAULT_AMD64_WORKER_POOL,
180+
workers=workers,
177181
tags=list(tags_ubasan),
178182
jobs=jobs,
179183
)
180184

181185

182-
for builder in ["amd64-ubasan-clang-20", "amd64-ubasan-clang-20-debug"]:
183-
c["builders"].append(ubasan_builder(name=builder, debug=builder.endswith("debug")))
186+
sg_bbw1 = WORKER_POOL.get_workers_for_arch(arch="amd64", names=["sg-bbw1"])
184187

188+
for builder, image, workers in [
189+
("amd64-ubasan-clang-20", "debian12-msan-clang-20", DEFAULT_AMD64_WORKER_POOL),
190+
(
191+
"amd64-ubasan-clang-20-debug",
192+
"debian12-msan-clang-20",
193+
DEFAULT_AMD64_WORKER_POOL,
194+
),
195+
("amd64-ubasan-clang-22", "debian13-msan-clang-22", sg_bbw1),
196+
("amd64-ubasan-clang-22-debug", "debian13-msan-clang-22", sg_bbw1),
197+
]:
198+
c["builders"].append(
199+
ubasan_builder(
200+
name=builder, image=image, debug=builder.endswith("debug"), workers=workers
201+
)
202+
)
185203

186-
def msan_builder(name: str, debug: bool) -> GenericBuilder:
204+
205+
def msan_builder(
206+
name: str, image: str, debug: bool, workers: Iterable[WorkerBase]
207+
) -> GenericBuilder:
187208
tags_msan = ("Debian", "clang", "msan", "big")
188209
jobs = 12
189210
if debug:
@@ -195,19 +216,27 @@ def msan_builder(name: str, debug: bool) -> GenericBuilder:
195216
sequences=[
196217
msan(
197218
jobs=jobs,
198-
config=docker_config(image="debian12-msan-clang-20", shm_size="24g"),
219+
config=docker_config(image=image, shm_size="24g"),
199220
isDebugBuildType=debug,
200221
)
201222
],
202223
).get_config(
203-
workers=DEFAULT_AMD64_WORKER_POOL,
224+
workers=workers,
204225
tags=list(tags_msan),
205226
jobs=jobs,
206227
)
207228

208229

209-
builder = "amd64-msan-clang-20-debug"
210-
c["builders"].append(msan_builder(name=builder, debug=builder.endswith("debug")))
230+
for builder, image, workers in [
231+
("amd64-msan-clang-20-debug", "debian12-msan-clang-20", DEFAULT_AMD64_WORKER_POOL),
232+
("amd64-msan-clang-22", "debian13-msan-clang-22", sg_bbw1),
233+
("amd64-msan-clang-22-debug", "debian13-msan-clang-22", sg_bbw1),
234+
]:
235+
c["builders"].append(
236+
msan_builder(
237+
name=builder, image=image, debug=builder.endswith("debug"), workers=workers
238+
)
239+
)
211240

212241
## ------------------------------------------------------------------- ##
213242
## MTR EXTENDED COVERAGE BUILDERS ##

0 commit comments

Comments
 (0)