From bc17130b162463e7f71ea7b59534b240377401b5 Mon Sep 17 00:00:00 2001 From: Joe Zuntz Date: Thu, 8 Oct 2026 10:49:51 +0100 Subject: [PATCH 1/2] Have the dry-run pipeline print which stages would skip --- ceci/pipeline/dry_run.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ceci/pipeline/dry_run.py b/ceci/pipeline/dry_run.py index 473bf73..656e19f 100644 --- a/ceci/pipeline/dry_run.py +++ b/ceci/pipeline/dry_run.py @@ -13,7 +13,10 @@ class DryRunPipeline(Pipeline): """ def initiate_run(self, overall_inputs): - return [] + return { + "commands": [], + "completed_stages": [], + } def should_skip_stage(self, stage): return False @@ -30,13 +33,20 @@ def enqueue_job(self, stage, pipeline_files): if sys.stdout.isatty(): cmd = cmd.replace(stage.instance_name, embolden(stage.instance_name), 1) - self.run_info.append(cmd) + # make a list of complete stages and print at the end + if super().should_skip_stage(stage): + self.run_info["completed_stages"].append(stage.instance_name) + + self.run_info["commands"].append(cmd) return outputs def run_jobs(self): - for cmd in self.run_info: + for cmd in self.run_info["commands"]: print(cmd) print("\n") + print("\n") + for name in self.run_info["completed_stages"]: + print(f"# {name} is complete and could be skipped") return 0 def find_all_outputs(self): From 65fd87f915d2799e05ed63d8d4b01a5e1c5bea01 Mon Sep 17 00:00:00 2001 From: joezuntz Date: Thu, 8 Oct 2026 10:57:26 +0100 Subject: [PATCH 2/2] Update stage skipping condition for dry run Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- ceci/pipeline/dry_run.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ceci/pipeline/dry_run.py b/ceci/pipeline/dry_run.py index 656e19f..8390189 100644 --- a/ceci/pipeline/dry_run.py +++ b/ceci/pipeline/dry_run.py @@ -34,7 +34,7 @@ def enqueue_job(self, stage, pipeline_files): cmd = cmd.replace(stage.instance_name, embolden(stage.instance_name), 1) # make a list of complete stages and print at the end - if super().should_skip_stage(stage): + if self.run_config["resume"] in (True, "resume") and super().should_skip_stage(stage): self.run_info["completed_stages"].append(stage.instance_name) self.run_info["commands"].append(cmd)