cwl-v1.2
cwl-v1.2 copied to clipboard
New conformance test needed: directory with executable script inside
https://github.com/DataBiosphere/toil/issues/3146
The spec doesn't say anything about preserving permission bits. We should discuss that policy first.
This was on the 1.2.1 list as needing discussion.
I think the spec should say that executability permission bits are preserved: if a file is executable to the user running the CWL workflow, it will be executable to the current user when presented to the workflow code, wherever that code ends up running, and whoever it ends up running as.
If a file is coming from somewhere without a concept of an executability permission, the executability maybe should be implementation-defined?
The File model of CWL is that the minimum requirements on a file is that it has a specific name and is readable by the user running the CommandLineTool. Requiring that additional metadata about a file must be preserved is a problem because lots of file storage systems don't do that (S3 buckets, for example).
Michael and I talked about it and the proposal for CWL 1.3 is to add an executable: true flag to InitialWorkDirRequirement alongside the existing writable: true.
That could also work; even if the whole workflow was coming from somewhere where execute bits had been lost, if the file is pulled in with some annotation saying it is meant to be executable by the workflow, then it can reliably be executable when it arrives.
How would/would we handle the case of an input file that needs to be executable? Like if a workflow wants you to send in a script?