cwl-v1.2 icon indicating copy to clipboard operation
cwl-v1.2 copied to clipboard

New conformance test needed: directory with executable script inside

Open mr-c opened this issue 4 years ago • 4 comments

https://github.com/DataBiosphere/toil/issues/3146

mr-c avatar Dec 24 '20 07:12 mr-c

The spec doesn't say anything about preserving permission bits. We should discuss that policy first.

tetron avatar Jan 01 '21 16:01 tetron

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?

adamnovak avatar Aug 16 '23 17:08 adamnovak

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.

tetron avatar Aug 21 '23 15:08 tetron

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?

adamnovak avatar Aug 21 '23 16:08 adamnovak