Skip to content

Commit 063a9c2

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 c7535bb commit 063a9c2

2 files changed

Lines changed: 41 additions & 10 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: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,9 @@ c["builders"].append(
145145
## ------------------------------------------------------------------- ##
146146

147147

148-
def ubasan_builder(name: str, debug: bool) -> GenericBuilder:
148+
def ubasan_builder(
149+
name: str, image: str, debug: bool, workers: Iterable[WorkerBase]
150+
) -> GenericBuilder:
149151
tags_ubasan = ("Debian", "clang", "asan", "ubsan", "big")
150152
jobs = 12
151153
if debug:
@@ -156,22 +158,39 @@ def ubasan_builder(name: str, debug: bool) -> GenericBuilder:
156158
sequences=[
157159
asan_ubsan(
158160
jobs=jobs,
159-
config=docker_config(image="debian12-msan-clang-20", shm_size="24g"),
161+
config=docker_config(image=image, shm_size="24g"),
160162
isDebugBuildType=debug,
161163
)
162164
],
163165
).get_config(
164-
workers=DEFAULT_AMD64_WORKER_POOL,
166+
workers=workers,
165167
tags=list(tags_ubasan),
166168
jobs=jobs,
167169
)
168170

169171

170-
for builder in ["amd64-ubasan-clang-20", "amd64-ubasan-clang-20-debug"]:
171-
c["builders"].append(ubasan_builder(name=builder, debug=builder.endswith("debug")))
172+
sg_bbw1 = WORKER_POOL.get_workers_for_arch(arch="amd64", names=["sg-bbw1"])
173+
174+
for builder, image, workers in [
175+
("amd64-ubasan-clang-20", "debian12-msan-clang-20", DEFAULT_AMD64_WORKER_POOL),
176+
(
177+
"amd64-ubasan-clang-20-debug",
178+
"debian12-msan-clang-20",
179+
DEFAULT_AMD64_WORKER_POOL,
180+
),
181+
("amd64-ubasan-clang-22", "debian13-msan-clang-22", sg_bbw1),
182+
("amd64-ubasan-clang-22-debug", "debian13-msan-clang-22", sg_bbw1),
183+
]:
184+
c["builders"].append(
185+
ubasan_builder(
186+
name=builder, image=image, debug=builder.endswith("debug"), workers=workers
187+
)
188+
)
172189

173190

174-
def msan_builder(name: str, debug: bool) -> GenericBuilder:
191+
def msan_builder(
192+
name: str, image: str, debug: bool, workers: Iterable[WorkerBase]
193+
) -> GenericBuilder:
175194
tags_msan = ("Debian", "clang", "msan", "big")
176195
jobs = 12
177196
if debug:
@@ -183,19 +202,27 @@ def msan_builder(name: str, debug: bool) -> GenericBuilder:
183202
sequences=[
184203
msan(
185204
jobs=jobs,
186-
config=docker_config(image="debian12-msan-clang-20", shm_size="24g"),
205+
config=docker_config(image=image, shm_size="24g"),
187206
isDebugBuildType=debug,
188207
)
189208
],
190209
).get_config(
191-
workers=DEFAULT_AMD64_WORKER_POOL,
210+
workers=workers,
192211
tags=list(tags_msan),
193212
jobs=jobs,
194213
)
195214

196215

197-
builder = "amd64-msan-clang-20-debug"
198-
c["builders"].append(msan_builder(name=builder, debug=builder.endswith("debug")))
216+
for builder, image, workers in [
217+
("amd64-msan-clang-20-debug", "debian12-msan-clang-20", DEFAULT_AMD64_WORKER_POOL),
218+
("amd64-msan-clang-22", "debian13-msan-clang-22", sg_bbw1),
219+
("amd64-msan-clang-22-debug", "debian13-msan-clang-22", sg_bbw1),
220+
]:
221+
c["builders"].append(
222+
msan_builder(
223+
name=builder, image=image, debug=builder.endswith("debug"), workers=workers
224+
)
225+
)
199226

200227
## ------------------------------------------------------------------- ##
201228
## MTR EXTENDED COVERAGE BUILDERS ##

0 commit comments

Comments
 (0)