From 9111bee5791478c380444d80a8938d403478ae8c Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Tue, 17 Dec 2024 15:51:49 +0100 Subject: [PATCH 1/3] CWL container prepull: no reason to if extensions are enabled, they are now supported by cwl-utils 0.36+ --- requirements-cwl.txt | 2 +- src/toil/cwl/cwltoil.py | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/requirements-cwl.txt b/requirements-cwl.txt index a12220702e..e506d444a7 100644 --- a/requirements-cwl.txt +++ b/requirements-cwl.txt @@ -6,4 +6,4 @@ ruamel.yaml>=0.15,<=0.19 ruamel.yaml.clib>=0.2.6 networkx!=2.8.1,<4 CacheControl[filecache] -cwl-utils>=0.32 +cwl-utils>=0.36 diff --git a/src/toil/cwl/cwltoil.py b/src/toil/cwl/cwltoil.py index 176aa5e50b..2b1e0fa17f 100644 --- a/src/toil/cwl/cwltoil.py +++ b/src/toil/cwl/cwltoil.py @@ -4253,14 +4253,7 @@ def main(args: Optional[list[str]] = None, stdout: TextIO = sys.stdout) -> int: # Attempt to prepull the containers if not options.no_prepull: - if not options.enable_ext: - # The CWL utils parser does not support cwltool extensions and will crash if encountered, so don't prepull if extensions are enabled - # See https://github.com/common-workflow-language/cwl-utils/issues/309 - try_prepull(uri, runtime_context, expected_config.batchSystem) - else: - logger.debug( - "Not prepulling containers as cwltool extensions are not supported." - ) + try_prepull(uri, runtime_context, expected_config.batchSystem) options.tool_help = None options.debug = options.logLevel == "DEBUG" From e886b66ae4e6c095a35ae107072519660500dd05 Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Tue, 17 Dec 2024 15:53:01 +0100 Subject: [PATCH 2/3] CWL container prepull: skip if --no-containers is specified --- src/toil/cwl/cwltoil.py | 2 +- src/toil/test/cwl/cwlTest.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/toil/cwl/cwltoil.py b/src/toil/cwl/cwltoil.py index 2b1e0fa17f..1d8f57912c 100644 --- a/src/toil/cwl/cwltoil.py +++ b/src/toil/cwl/cwltoil.py @@ -4252,7 +4252,7 @@ def main(args: Optional[list[str]] = None, stdout: TextIO = sys.stdout) -> int: raise # Attempt to prepull the containers - if not options.no_prepull: + if not options.no_prepull and not options.no_container: try_prepull(uri, runtime_context, expected_config.batchSystem) options.tool_help = None diff --git a/src/toil/test/cwl/cwlTest.py b/src/toil/test/cwl/cwlTest.py index 5b8a13733e..311cb80510 100644 --- a/src/toil/test/cwl/cwlTest.py +++ b/src/toil/test/cwl/cwlTest.py @@ -421,6 +421,11 @@ def test_run_revsort_nochecksum(self) -> None: "revsort.cwl", partial(self._tester, main_args=["--no-compute-checksum"]) ) + def test_run_revsort_no_container(self) -> None: + self.revsort_no_checksum( + "revsort.cwl", partial(self._tester, main_args=["--no-container"]) + ) + def test_run_revsort2(self) -> None: self.revsort("revsort2.cwl", self._tester) From c63334ab33c9b66e446dba6ba257054661e8e1aa Mon Sep 17 00:00:00 2001 From: Adam Novak Date: Thu, 16 Jan 2025 18:56:45 -0500 Subject: [PATCH 3/3] Use checksumming revsort test --- src/toil/test/cwl/cwlTest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/toil/test/cwl/cwlTest.py b/src/toil/test/cwl/cwlTest.py index 311cb80510..4098976352 100644 --- a/src/toil/test/cwl/cwlTest.py +++ b/src/toil/test/cwl/cwlTest.py @@ -422,7 +422,7 @@ def test_run_revsort_nochecksum(self) -> None: ) def test_run_revsort_no_container(self) -> None: - self.revsort_no_checksum( + self.revsort( "revsort.cwl", partial(self._tester, main_args=["--no-container"]) )