From 6b1d09c1e270348e8ef77d6ad8c24e1ca540215c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20K=C3=B6ster?= Date: Fri, 11 Mar 2022 17:13:12 +0100 Subject: [PATCH] fix: do not wait for named or containerized conda envs (#1473) * fix: do not wait for named or containerized conda envs * added testcase draft for issue 1456 * cleanup --- snakemake/jobs.py | 3 +++ tests/test_github_issue1469/Snakefile | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 tests/test_github_issue1469/Snakefile diff --git a/snakemake/jobs.py b/snakemake/jobs.py index d8a36a7e6..01bf521ab 100644 --- a/snakemake/jobs.py +++ b/snakemake/jobs.py @@ -1015,7 +1015,10 @@ def get_wait_for_files(self): self.dag.workflow.use_conda and self.conda_env and not self.conda_env.is_named + and not self.conda_env.is_containerized ): + # Named or containerized envs are not present on the host FS, + # hence we don't need to wait for them. wait_for_files.append(self.conda_env.address) return wait_for_files diff --git a/tests/test_github_issue1469/Snakefile b/tests/test_github_issue1469/Snakefile new file mode 100644 index 000000000..7894719a0 --- /dev/null +++ b/tests/test_github_issue1469/Snakefile @@ -0,0 +1,22 @@ +ruleorder: single_file > both_files + + +rule all: + input: + "foo.txt", + "bar.txt", + + +rule both_files: + output: + "foo.txt", + "bar.txt", + shell: + "if [[ -e foo.txt ]]; then exit 1; fi; touch {output}" + + +rule single_file: + output: + "foo.txt", + shell: + "if [[ -e foo.txt ]]; then exit 1; fi; touch {output}"