Open alexiswl opened 4 years ago
Hello @alexiswl . I see your point.
$graph
is currently only added by cwltool
when needed and the second input doesn't need it (nor packing) as it is already self-contained.
In CWL v1.2 we will be providing more guidance about packed documents (though they have been implicitly allowed since v1.0). Here is the current text https://github.com/common-workflow-language/cwl-v1.2/commit/63da514cbacd274abc391c7858514b7f68f7a8bd?short_path=f672fea#diff-f672fea773fb5554fdcc9faa6e7b5093 and your feedback would be welcome
If "packing" is just about combining multiple CWL documents together, then the current situation is good enough.
If it is about producing that and a simplified and more consistent serialization, then we should always add $graph
when packing.
Maybe the options should be split into two: one that combines into a single document that always uses $graph
and is in JSON form (comments are removed, etc) and the second that combines into a single document, if needed, and preserves as much of the original form as possible (YAML-in, YAML-out, keeps comments)
@tetron what do you think of that? Any ideas on names?
@alexiswl would that suffice for you? could you help with the implementation?
Expected Behavior
Same packed file to be generated regardless of the build type
Actual Behavior
Tell us what happens instead
If a workflow refers to a commandline tool defined in the
run
attribute of thestep
. A non-$graph type of workflow is packed.If a workflow refers to a commandline tool defined in a separate file and linked to in the
run
attribute of thestep
. A $graph type of workflow is packed insteadWorkflow Code - one file per tool
Taken from https://github.com/common-workflow-language/common-workflow-language/tree/master/v1.0/examples
Workflow Code - Single File
Workflow Code - one file per tool - packed
Workflow Code - Single File - Packed
Your Environment