Sync up unique cache paths for Singularity images with cwl-utils - #2284
Sync up unique cache paths for Singularity images with cwl-utils#2284adamnovak wants to merge 23 commits into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2284 +/- ##
==========================================
+ Coverage 85.01% 85.30% +0.28%
==========================================
Files 46 46
Lines 8621 8640 +19
Branches 2020 2023 +3
==========================================
+ Hits 7329 7370 +41
+ Misses 817 804 -13
+ Partials 475 466 -9 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
The linter that complains about long lines has a different line length limit than, and runs before, the linter that tells you your long lines are not wrapped exactly correctly. |
|
I'm having trouble running the offending test locally because I can't figure out how to limit the test system to a reasonable number of worker threads. When I run |
|
Turns out I need: |
|
OK, Do we really need to promise that constraint? We also have a similar test in |
d823fe6 to
f8360fc
Compare
|
@mr-c I'm not sure what to do about the coverage shortfall here. It looks like CI needs tests with (very old by now) Singularity 2, or it needs a test case where |
|
But we already run |
bebb2a4 to
95aaa2f
Compare
|
The mypy tests are failing because they're somehow also actually running the unit tests, and the unit tests nondeterministically fail with things like: |
|
This looks a lot like sylabs/singularity#4044 which was fixed in Sylabs Singularity 4.5.0. CI is running with 4.3.5. |
|
Now a bunch of CWL 1.1 (only) Podman (only) conformance tests are failing, apparently because of: |
|
Now the CWL conformance (v1.3.0-dev1, --relax-path-checks) test failed because when it went to access the network the connection was reset. |
|
The Python 3.10 mypy tests also failed because, when they went to actually run the tests (instead of just type checking), they failed to talk to the network for some of the tests where we're testing if we can use network URLs to CWL documents. |
|
The Python 3.12 mypy tests failed with another instance of the unmount/cleanup failure: So something like sylabs/singularity#4044 still exists. I have |
|
I'm going to de-upgrade Singularity so I can't be accused of causing all these unmount failures. |
|
I'm now getting I'm going to rerun them. |
|
@mr-c This and common-workflow-language/cwl-utils#433 are now passing tests, although I think that there are substantial preexisting problems with flaky tests that are not being solved here. |
This will get the fix for sylabs/singularity#4044
This reverts commit 821c84c.
|
Per discussion at the CWL4HPC meeting, I'm going to adjust this and the cwl-utils PR so that, when an image is found at an old-style path and not at the new-style one, it gets hardlinked-or-copied to the new path. Both cwl-utils and cwltool will do this. The hardlink-or-copy widget (and as much other code as possible) should be in cwl-utils and imported in cwl-tool. I will set up a Git dependency link and @mr-c will handle turning that into a real set of interlinked releases. |
|
@mr-c I can run through a few tests manually with this, but the only environment I have that could e.g. run Can you sort this out somehow? |
This and the corresponding change to
cwl-utilscwl-docker-extractshould solve the problem of ambiguous or different SIF file names between the two tools.There's still the problem that
cwltoolsupports more ways of specifying an image thancwl-utilsdoes.