@@ -170,71 +170,62 @@ def getSchedulerByName(self, name: str) -> BaseScheduler:
170170 # todo: check ITriggerableScheduler
171171 return sch
172172
173- def schedule_eval_failure (self , build_props : Properties , job : NixEvalJobError ) -> Tuple [BaseScheduler , Properties ]:
174- source = f"nix-eval-nix"
175-
176- props = Properties ()
173+ @staticmethod
174+ def set_common_properties (props : Properties , source : str , job : NixEvalJob ) -> Properties :
177175 props .setProperty ("virtual_builder_name" , f".#checks.{ job .attr } " , source )
178176 props .setProperty ("status_name" , f"nix-build .#checks.{ job .attr } " , source )
179177 props .setProperty ("virtual_builder_tags" , "" , source )
180- props .setProperty ("error" , job .error , source )
181178 props .setProperty ("attr" , job .attr , source )
182179
180+ return props
181+
182+ def schedule_eval_failure (self , job : NixEvalJobError ) -> Tuple [str , Properties ]:
183+ source = f"nix-eval-nix"
184+
185+ props = BuildTrigger .set_common_properties (Properties (), source , job )
186+ props .setProperty ("error" , job .error , source )
187+
183188 return (self .failed_eval_scheduler , props )
184189
185190 def schedule_cached_failure (
186191 self ,
187- build_props : Properties ,
188192 job : NixEvalJobSuccess
189- ) -> Tuple [BaseScheduler , Properties ]:
193+ ) -> Tuple [str , Properties ]:
190194 source = f"nix-eval-nix"
191195
192- props = Properties ()
193- props .setProperty ("virtual_builder_name" , f".#checks.{ job .attr } " , source )
194- props .setProperty ("status_name" , f"nix-build .#checks.{ job .attr } " , source )
195- props .setProperty ("virtual_builder_tags" , "" , source )
196- props .setProperty ("attr" , job .attr , source )
196+ props = BuildTrigger .set_common_properties (Properties (), source , job )
197197
198198 return (self .cached_failure_scheduler , props )
199199
200200 def schedule_dependency_failed (
201201 self ,
202- build_props : Properties ,
203202 job : NixEvalJobSuccess ,
204203 dependency : NixEvalJobSuccess
205- ) -> Tuple [BaseScheduler , Properties ]:
204+ ) -> Tuple [str , Properties ]:
206205 source = f"nix-eval-nix"
207206
208- props = Properties ()
209- props .setProperty ("virtual_builder_name" , f".#checks.{ job .attr } " , source )
210- props .setProperty ("status_name" , f"nix-build .#checks.{ job .attr } " , source )
211- props .setProperty ("virtual_builder_tags" , "" , source )
207+ props = BuildTrigger .set_common_properties (Properties (), source , job )
212208 props .setProperty ("dependency.attr" , dependency .attr , source )
213- props .setProperty ("attr" , job .attr , source )
214209
215210 return (self .dependency_failed_scheduler , props )
216211
217- def schedule_success (self , build_props : Properties , job : NixEvalJobSuccess ) -> Tuple [BaseScheduler , Properties ]:
212+ def schedule_success (self , build_props : Properties , job : NixEvalJobSuccess ) -> Tuple [str , Properties ]:
218213 source = f"nix-eval-nix"
219214
220- props = Properties ()
221- props .setProperty ("virtual_builder_name" , f".#checks.{ job .attr } " , source )
222- props .setProperty ("status_name" , f"nix-build .#checks.{ job .attr } " , source )
223- props .setProperty ("virtual_builder_tags" , "" , source )
224-
225215 drv_path = job .drvPath
226216 system = job .system
227217 out_path = job .outputs ["out" ] or None
228218
229- build_props .setProperty (f"{ job .attr } -out_path" , out_path , source )
230- build_props .setProperty (f"{ job .attr } -drv_path" , drv_path , source )
231-
232- props .setProperty ("attr" , job .attr , source )
219+ props = BuildTrigger .set_common_properties (Properties (), source , job )
233220 props .setProperty ("system" , system , source )
234221 props .setProperty ("drv_path" , drv_path , source )
235222 props .setProperty ("out_path" , out_path , source )
236223 props .setProperty ("cacheStatus" , job .cacheStatus , source )
237224
225+ build_props .setProperty (f"{ job .attr } -out_path" , out_path , source )
226+ build_props .setProperty (f"{ job .attr } -drv_path" , drv_path , source )
227+
228+
238229 # TODO: allow to skip if the build is cached?
239230 if job .cacheStatus == CacheStatus .notBuilt or job .cacheStatus == CacheStatus .cached :
240231 return (self .builds_scheduler , props )
@@ -245,10 +236,10 @@ def schedule_success(self, build_props: Properties, job: NixEvalJobSuccess) -> T
245236 def schedule (
246237 self ,
247238 ss_for_trigger : list [dict [str , Any ]],
248- scheduler : BaseScheduler ,
239+ scheduler_name : str ,
249240 props : Properties
250241 ) -> Generator [Any , Any , Tuple [dict [int , int ], defer .Deferred [list [int ]]]]:
251- scheduler = self .getSchedulerByName (scheduler )
242+ scheduler : BaseScheduler = self .getSchedulerByName (scheduler_name )
252243
253244 idsDeferred , resultsDeferred = scheduler .trigger (
254245 waited_for = True ,
@@ -358,7 +349,7 @@ def run(self) -> Generator[Any, Any, None]:
358349 scheduler_log .addStdout (f'The following jobs failed to evaluate:\n ' );
359350 for failed_job in self .failed_jobs :
360351 scheduler_log .addStdout (f'\t - { failed_job .attr } failed eval\n ' );
361- yield self .schedule (ss_for_trigger , * self .schedule_eval_failure (build_props , failed_job ))
352+ yield self .schedule (ss_for_trigger , * self .schedule_eval_failure (failed_job ))
362353
363354 source = f"nix-eval-{ self .project .project_id } "
364355
@@ -395,7 +386,7 @@ def run(self) -> Generator[Any, Any, None]:
395386
396387 brids , resultsDeferred = yield self .schedule (
397388 ss_for_trigger ,
398- * self .schedule_cached_failure (build_props , build )
389+ * self .schedule_cached_failure (build )
399390 )
400391 scheduled .append (BuildTrigger .ScheduledJob (build , brids , resultsDeferred ))
401392 elif failed_builds .check_build (build .drvPath ) and self .build .reason == "rebuild" :
@@ -442,7 +433,7 @@ def run(self) -> Generator[Any, Any, None]:
442433
443434 removed = self .getFailedDependents (job , build_schedule_order , job_closures )
444435 for removed_job in removed :
445- scheduler , props = self .schedule_dependency_failed (build_props , removed_job , job )
436+ scheduler , props = self .schedule_dependency_failed (removed_job , job )
446437 brids , resultsDeferred = yield self .schedule (ss_for_trigger , scheduler , props )
447438 build_schedule_order .remove (removed_job )
448439 scheduled .append (BuildTrigger .ScheduledJob (removed_job , brids , resultsDeferred ))
@@ -1462,7 +1453,6 @@ def configure(self, config: dict[str, Any]) -> None:
14621453
14631454 for backend in backends .values ():
14641455 avatar_method = backend .create_avatar_method ()
1465- print (avatar_method )
14661456 if avatar_method is not None :
14671457 config ["www" ]["avatar_methods" ].append (avatar_method )
14681458
0 commit comments