@@ -89,9 +89,8 @@ except FileNotFoundError:
8989
9090
9191WORKERS = get_workers (settings )
92- WORKERS_BY_NAME = {w .name : w for w in WORKERS }
9392
94- BUILDERS = get_builders (settings )
93+ BUILDERS = get_builders (settings , WORKERS )
9594
9695AUTH , AUTHZ = set_up_authorization (settings )
9796
@@ -248,15 +247,14 @@ mail_status_builders = []
248247for branch_num , (git_url , branchname , git_branch ) in enumerate (git_branches ):
249248 buildernames = []
250249 refleakbuildernames = []
251- for name , worker_name , buildfactory , stability , tier in BUILDERS :
250+ for name , worker , buildfactory , stability , tier in BUILDERS :
252251 if any (
253252 pattern in name for pattern in ONLY_MAIN_BRANCH
254253 ) and branchname != MAIN_BRANCH_NAME :
255254 # Workers known to be broken on older branches: let's focus on
256255 # supporting these platforms in the main branch.
257256 continue
258257
259- worker = WORKERS_BY_NAME [worker_name ]
260258 if worker .not_branches and branchname in worker .not_branches :
261259 continue
262260 if worker .branches and branchname not in worker .branches :
@@ -303,29 +301,28 @@ for branch_num, (git_url, branchname, git_branch) in enumerate(git_branches):
303301
304302 builder = util .BuilderConfig (
305303 name = buildername ,
306- workernames = [worker_name ],
307- builddir = "%s.%s%s"
308- % (branchname , worker_name , getattr (f , "buildersuffix" , "" )),
304+ workernames = [worker .name ],
305+ builddir = "%s.%s%s" % (branchname , worker .name , getattr (f , "buildersuffix" , "" )),
309306 factory = f ,
310307 tags = tags ,
311308 locks = [cpulock .access ("counting" )],
312309 )
313310
314311 # This worker runs pyperformance at 12am UTC. If a build is scheduled between
315312 # 10pm UTC and 2am UTC, it will be delayed to 2am UTC.
316- if worker_name == "diegorusso-aarch64-bigmem" :
313+ if worker . name == "diegorusso-aarch64-bigmem" :
317314 builder .canStartBuild = no_builds_between ("22:00" , "2:00" )
318315
319316 # This worker restarts every day at 9am UTC to work around issues stemming from
320317 # failing bigmem tests trashing disk space and fragmenting RAM. Builds scheduled
321318 # between 07:20am - 9:20am UTC will be delayed to 9:20am UTC.
322- if worker_name == "ambv-bb-win11" :
319+ if worker . name == "ambv-bb-win11" :
323320 builder .canStartBuild = no_builds_between ("7:20" , "9:20" )
324321
325322 # These workers are reprovisioned every Wednesday at 9am PT. Builds
326323 # scheduled between 8am - 10am PT on Wednesdays will be delayed to
327324 # 10am PT.
328- if worker_name in ("itamaro-win64-srv-22-aws" , "itamaro-centos-aws" ):
325+ if worker . name in ("itamaro-win64-srv-22-aws" , "itamaro-centos-aws" ):
329326 builder .canStartBuild = no_builds_between (
330327 "8:00" , "10:00" , day_of_week = 2 , tz = ZoneInfo ("America/Los_Angeles" )
331328 )
@@ -363,13 +360,11 @@ for branch_num, (git_url, branchname, git_branch) in enumerate(git_branches):
363360stable_pull_request_builders = []
364361all_pull_request_builders = []
365362
366- for name , worker_name , buildfactory , stability , tier in BUILDERS :
363+ for name , worker , buildfactory , stability , tier in BUILDERS :
367364 buildername = f"{ name } PR"
368365
369366 source = GitHub (repourl = git_url , ** GIT_KWDS )
370367
371- worker = WORKERS_BY_NAME [worker_name ]
372-
373368 f = buildfactory (
374369 source ,
375370 # Use the same downstream branch names as the "custom"
@@ -395,23 +390,22 @@ for name, worker_name, buildfactory, stability, tier in BUILDERS:
395390
396391 builder = util .BuilderConfig (
397392 name = buildername ,
398- workernames = [worker_name ],
399- builddir = "%s.%s%s"
400- % ("pull_request" , worker_name , getattr (f , "buildersuffix" , "" )),
393+ workernames = [worker .name ],
394+ builddir = "%s.%s%s" % ("pull_request" , worker .name , getattr (f , "buildersuffix" , "" )),
401395 factory = f ,
402396 tags = tags ,
403397 locks = [cpulock .access ("counting" )],
404398 )
405399
406400 # This worker runs pyperformance at 12am. If a build is scheduled between
407401 # 10pm and 2am, it will be delayed at 2am.
408- if worker_name == "diegorusso-aarch64-bigmem" :
402+ if worker . name == "diegorusso-aarch64-bigmem" :
409403 builder .canStartBuild = no_builds_between ("22:00" , "2:00" )
410404
411405 # These workers are reprovisioned every Wednesday at 9am PT. Builds
412406 # scheduled between 8am - 10am PT on Wednesdays will be delayed to
413407 # 10am PT.
414- if worker_name in ("itamaro-win64-srv-22-aws" , "itamaro-centos-aws" ):
408+ if worker . name in ("itamaro-win64-srv-22-aws" , "itamaro-centos-aws" ):
415409 builder .canStartBuild = no_builds_between (
416410 "8:00" , "10:00" , day_of_week = 2 , tz = ZoneInfo ("America/Los_Angeles" )
417411 )
0 commit comments