diff --git a/Workflow.yml b/Workflow.yml index 8f0e23dc..884177df 100644 --- a/Workflow.yml +++ b/Workflow.yml @@ -225,8 +225,11 @@ $graph: fields: - name: outputSource doc: | - Specifies one or more workflow parameters that supply the value of to - the output parameter. + Specifies one or more names of an output from a workflow step (in the form + `step_name/output_name` with a `/` separator`), or a workflow input name, + that supply their value(s) to the output parameter. + the output parameter. It is valid to reference workflow level inputs + here. jsonldPredicate: "_id": "cwl:outputSource" "_type": "@id" diff --git a/conformance_tests.yaml b/conformance_tests.yaml index ed3b4854..f8e0f975 100644 --- a/conformance_tests.yaml +++ b/conformance_tests.yaml @@ -3541,6 +3541,15 @@ Use of $(runtime.outdir) for outputBinding glob. tags: [ required, command_line_tool ] +- label: output_reference_workflow_input + output: { + "last": "me" + } + tool: tests/output_reference_workflow_input.cwl + doc: | + Direct use of Workflow level input fields in the outputs. + tags: [ required, workflow ] + - label: stdout_chained_commands output: { "out": "a\nb\n" @@ -3552,4 +3561,4 @@ `echo a && echo b > out.txt`, but instead will produce the correct `echo a && echo b`, and capture the output correctly. tags: [ shell_command, command_line_tool ] - + \ No newline at end of file diff --git a/tests/output_reference_workflow_input.cwl b/tests/output_reference_workflow_input.cwl new file mode 100644 index 00000000..808132aa --- /dev/null +++ b/tests/output_reference_workflow_input.cwl @@ -0,0 +1,14 @@ +cwlVersion: v1.2 +class: Workflow + +inputs: + first: + type: string + default: me + +steps: [] + +outputs: + last: + type: string + outputSource: first