Skip to content

Commit 2531155

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 2531155

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
@@ -5,7 +5,7 @@ import os
55

66
import yaml
77

8-
from configuration.builders.base import GenericBuilder
8+
from configuration.builders.base import GenericBuilder, WorkerBase
99
from configuration.builders.common import (
1010
deb_release_builder,
1111
docker_config,
@@ -25,6 +25,8 @@ from configuration.reporters import github_summary
2525
from configuration.workers import worker
2626
from master_common import IS_CHECKCONFIG, base_master_config
2727

28+
from typing import Iterable
29+
2830
####### VARIABLES
2931
cfg_dir = os.path.abspath(os.path.dirname(__file__))
3032
base_dir = os.path.abspath(f"{cfg_dir}/../")
@@ -145,7 +147,9 @@ c["builders"].append(
145147
## ------------------------------------------------------------------- ##
146148

147149

148-
def ubasan_builder(name: str, debug: bool) -> GenericBuilder:
150+
def ubasan_builder(
151+
name: str, image: str, debug: bool, workers: Iterable[WorkerBase]
152+
) -> GenericBuilder:
149153
tags_ubasan = ("Debian", "clang", "asan", "ubsan", "big")
150154
jobs = 12
151155
if debug:
@@ -156,22 +160,39 @@ def ubasan_builder(name: str, debug: bool) -> GenericBuilder:
156160
sequences=[
157161
asan_ubsan(
158162
jobs=jobs,
159-
config=docker_config(image="debian12-msan-clang-20", shm_size="24g"),
163+
config=docker_config(image=image, shm_size="24g"),
160164
isDebugBuildType=debug,
161165
)
162166
],
163167
).get_config(
164-
workers=DEFAULT_AMD64_WORKER_POOL,
168+
workers=workers,
165169
tags=list(tags_ubasan),
166170
jobs=jobs,
167171
)
168172

169173

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")))
174+
sg_bbw1 = WORKER_POOL.get_workers_for_arch(arch="amd64", names=["sg-bbw1"])
172175

176+
for builder, image, workers in [
177+
("amd64-ubasan-clang-20", "debian12-msan-clang-20", DEFAULT_AMD64_WORKER_POOL),
178+
(
179+
"amd64-ubasan-clang-20-debug",
180+
"debian12-msan-clang-20",
181+
DEFAULT_AMD64_WORKER_POOL,
182+
),
183+
("amd64-ubasan-clang-22", "debian13-msan-clang-22", sg_bbw1),
184+
("amd64-ubasan-clang-22-debug", "debian13-msan-clang-22", sg_bbw1),
185+
]:
186+
c["builders"].append(
187+
ubasan_builder(
188+
name=builder, image=image, debug=builder.endswith("debug"), workers=workers
189+
)
190+
)
173191

174-
def msan_builder(name: str, debug: bool) -> GenericBuilder:
192+
193+
def msan_builder(
194+
name: str, image: str, debug: bool, workers: Iterable[WorkerBase]
195+
) -> GenericBuilder:
175196
tags_msan = ("Debian", "clang", "msan", "big")
176197
jobs = 12
177198
if debug:
@@ -183,19 +204,27 @@ def msan_builder(name: str, debug: bool) -> GenericBuilder:
183204
sequences=[
184205
msan(
185206
jobs=jobs,
186-
config=docker_config(image="debian12-msan-clang-20", shm_size="24g"),
207+
config=docker_config(image=image, shm_size="24g"),
187208
isDebugBuildType=debug,
188209
)
189210
],
190211
).get_config(
191-
workers=DEFAULT_AMD64_WORKER_POOL,
212+
workers=workers,
192213
tags=list(tags_msan),
193214
jobs=jobs,
194215
)
195216

196217

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

200229
## ------------------------------------------------------------------- ##
201230
## MTR EXTENDED COVERAGE BUILDERS ##

0 commit comments

Comments
 (0)