From d628ca10d6cebb2af8966d8dfe87d23cd9673eeb Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Sun, 10 Mar 2024 23:09:27 +0000 Subject: [PATCH] Fix up a few loose ends --- buildbot_nix/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/buildbot_nix/__init__.py b/buildbot_nix/__init__.py index 2fd6ee2..c5428b8 100644 --- a/buildbot_nix/__init__.py +++ b/buildbot_nix/__init__.py @@ -162,6 +162,7 @@ class BuildTrigger(steps.BuildStep): @defer.inlineCallbacks def run(self): + self.running = True build_props = self.build.getProperties() source = f"nix-eval-lix" @@ -198,7 +199,7 @@ class BuildTrigger(steps.BuildStep): failed = [] all_results = SUCCESS ss_for_trigger = self.prepareSourcestampListForTrigger() - while len(build_schedule_order) > 0 or len(scheduled) > 0: + while not self.ended and (len(build_schedule_order) > 0 or len(scheduled) > 0): print('Scheduling..') schedule_now = [] for build in list(build_schedule_order): @@ -243,11 +244,10 @@ class BuildTrigger(steps.BuildStep): print(f' Found finished build {job.get("attr")}, result {util.Results[result].upper()}') if result != SUCCESS: failed_checks = [] - failed_paths = [] + failed_paths = [job.get('drvPath')] removed = [] while True: old_paths = list(failed_paths) - print(failed_checks, old_paths) for build in list(build_schedule_order): deps = all_deps.get(build.get("drvPath"), []) for path in old_paths: @@ -267,6 +267,8 @@ class BuildTrigger(steps.BuildStep): if job.get("drvPath") in all_deps[dep]: all_deps[dep].remove(job.get("drvPath")) print('Done!') + if self.ended: + return util.CANCELLED return all_results def getCurrentSummary(self) -> dict[str, str]: # noqa: N802