@@ -5,7 +5,7 @@ import os
55
66import yaml
77
8- from configuration .builders .base import GenericBuilder
8+ from configuration .builders .base import GenericBuilder , WorkerBase
99from configuration .builders .common import (
1010 deb_release_builder ,
1111 docker_config ,
@@ -25,6 +25,8 @@ from configuration.reporters import github_summary
2525from configuration .workers import worker
2626from master_common import IS_CHECKCONFIG , base_master_config
2727
28+ from typing import Iterable
29+
2830####### VARIABLES
2931cfg_dir = os .path .abspath (os .path .dirname (__file__ ))
3032base_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