18874: Merge branch 'main' from arvados-workbench2.git
[arvados.git] / sdk / cwl / tests / wf / revsort / revsort.cwl
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 #
6 # This is a two-step workflow which uses "revtool" and "sorttool" defined above.
7 #
8 class: Workflow
9 doc: "Reverse the lines in a document, then sort those lines."
10 cwlVersion: v1.0
11
12
13 # The inputs array defines the structure of the input object that describes
14 # the inputs to the workflow.
15 #
16 # The "reverse_sort" input parameter demonstrates the "default" field.  If the
17 # field "reverse_sort" is not provided in the input object, the default value will
18 # be used.
19 inputs:
20   input:
21     type: File
22     doc: "The input file to be processed."
23   reverse_sort:
24     type: boolean
25     default: true
26     doc: "If true, reverse (decending) sort"
27
28 # The "outputs" array defines the structure of the output object that describes
29 # the outputs of the workflow.
30 #
31 # Each output field must be connected to the output of one of the workflow
32 # steps using the "connect" field.  Here, the parameter "#output" of the
33 # workflow comes from the "#sorted" output of the "sort" step.
34 outputs:
35   output:
36     type: File
37     outputSource: sorted/output
38     doc: "The output with the lines reversed and sorted."
39
40 # The "steps" array lists the executable steps that make up the workflow.
41 # The tool to execute each step is listed in the "run" field.
42 #
43 # In the first step, the "inputs" field of the step connects the upstream
44 # parameter "#input" of the workflow to the input parameter of the tool
45 # "revtool.cwl#input"
46 #
47 # In the second step, the "inputs" field of the step connects the output
48 # parameter "#reversed" from the first step to the input parameter of the
49 # tool "sorttool.cwl#input".
50 steps:
51   rev:
52     in:
53       input: input
54     out: [output]
55     run: revtool.cwl
56
57   sorted:
58     in:
59       input: rev/output
60       reverse: reverse_sort
61     out: [output]
62     run: sorttool.cwl