-
-
Notifications
You must be signed in to change notification settings - Fork 231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use "run" with singularity/apptainer instead of "exec", when possible #2065
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2065 +/- ##
==========================================
- Coverage 84.05% 83.98% -0.07%
==========================================
Files 46 46
Lines 8302 8312 +10
Branches 1957 1959 +2
==========================================
+ Hits 6978 6981 +3
- Misses 848 854 +6
- Partials 476 477 +1 ☔ View full report in Codecov by Sentry. |
6 conformance tests fail when running with Singularity: https://github.com/common-workflow-language/cwltool/actions/runs/11769747600/job/32791926095?pr=2065#step:7:905 |
4a1cc3d
to
018fb48
Compare
Thanks for the feedback. I ran the CI on my fork and looks like the singularity tests are passing now. |
Co-authored-by: Michael R. Crusoe <[email protected]>
05ffa33
to
d2f9f24
Compare
A new https://github.com/common-workflow-language/cwltool/releases/tag/3.1.20241112140730 / https://github.com/common-workflow-language/cwltool/releases/tag/3.1.20241112140730 |
Context for the PR:
Currently if the user uses a
docker
image in a workflow and depending on the choice of the container engine (docker
vssingularity
), the execution can be different, if thedocker
image has an entrypoint.I understand that CWL community encourages docker images w/o entrypoints, however there are a good number of images produced by various scientific communities that comes with entrypoints. When this images are used in HPC environment, in most cases, due to security policies (not having access to
root
),singularity
is chosen as the container engine. In these cases,docker
images with entrypoint fails to execute.I also know that creating
CommandLineTools
with abaseCommand
can bypass the entrypoint issue when running withsingularity
but that also makes thoseCommandLineTools
container engine dependent, in turn making the CWL workflows themselves container engine dependent.With those observations, if there is no other strong reason for choosing
singularity exec
in the initial implementation, I would propose to change it tosingularity run
.Here is also a link of relevant discussion: https://cwl.discourse.group/t/singularity-exec-vs-docker-run/956/4