@@ -1079,7 +1079,7 @@ def config_for_project(
1079
1079
config ["builders" ].extend (
1080
1080
[
1081
1081
# Since all workers run on the same machine, we only assign one of them to do the evaluation.
1082
- # This should prevent exessive memory usage.
1082
+ # This should prevent excessive memory usage.
1083
1083
nix_eval_config (
1084
1084
project ,
1085
1085
worker_names ,
@@ -1289,6 +1289,7 @@ def configure(self, config: dict[str, Any]) -> None:
1289
1289
config .setdefault ("projects" , [])
1290
1290
config .setdefault ("secretsProviders" , [])
1291
1291
config .setdefault ("www" , {})
1292
+ config .setdefault ("workers" , [])
1292
1293
1293
1294
worker_names = []
1294
1295
for w in self .config .nix_worker_secrets ().workers :
@@ -1297,8 +1298,13 @@ def configure(self, config: dict[str, Any]) -> None:
1297
1298
config ["workers" ].append (worker .Worker (worker_name , w .password ))
1298
1299
worker_names .append (worker_name )
1299
1300
1301
+ for i in range (self .config .local_workers ):
1302
+ worker_name = f"local-{ i } "
1303
+ config ["workers" ].append (worker .LocalWorker (worker_name ))
1304
+ worker_names .append (worker_name )
1305
+
1300
1306
if worker_names == []:
1301
- msg = f"No workers configured in { self .config .nix_workers_secret_file } "
1307
+ msg = f"No workers configured in { self .config .nix_workers_secret_file } and { self . config . local_workers } local workers. "
1302
1308
raise BuildbotNixError (msg )
1303
1309
1304
1310
eval_lock = util .MasterLock ("nix-eval" )
@@ -1362,9 +1368,9 @@ def configure(self, config: dict[str, Any]) -> None:
1362
1368
config .setdefault ("secretsProviders" , [])
1363
1369
config ["secretsProviders" ].extend (backend .create_secret_providers ())
1364
1370
1365
- systemd_secrets = SecretInAFile (
1366
- dirname = os . environ [ "CREDENTIALS_DIRECTORY" ],
1367
- )
1371
+ credentials_directory = os . environ . get ( "CREDENTIALS_DIRECTORY" , "./secrets" )
1372
+ Path ( credentials_directory ). mkdir ( exist_ok = True , parents = True )
1373
+ systemd_secrets = SecretInAFile ( dirname = credentials_directory )
1368
1374
config ["secretsProviders" ].append (systemd_secrets )
1369
1375
1370
1376
config ["www" ].setdefault ("plugins" , {})
0 commit comments