CWL Runner
CWL specifies a standard cwl-runner interface to execute CWL workflows from the command line. StreamFlow adheres to this interface, installing a cwl-runner executable in the user’s $PATH. In particular, a
cwl-runner processfile jobfile
command is equivalent to a streamflow run command with the following streamflow.yml file:
version: v1.0
workflows:
workflow_name:
type: cwl
config:
file: processfile
settings: jobfile
In addition to the standard parameters, it is possible to pass a --streamflow-file argument to the cwl-runner CLI with the path of a StreamFlow file containing deployments and bindings (see the StreamFlow file section). The workflows section of this file must have a single entry containing a list of bindings. If present, the type and config entries will be ignored. Files containing multiple workflow entries will throw an exception.
For example, the workflow described here can also be executed with the following command
cwl-runner --streamflow-file /path/to/streamflow.yml main.cwl config.cwl
where the streamflow.yml fail contains these lines
version: v1.0
workflows:
extract-and-compile:
bindings:
- step: /compile
target:
deployment: docker-openjdk
deployments:
docker-openjdk:
type: docker
config:
image: openjdk:9.0.1-11-slim