CWL version support

Arvados supports CWL v1.0, v1.1 and v1.2.

Upgrading your workflows to CWL v1.2

If you are starting from a CWL v1.0 document, see Upgrading your workflows to CWL v1.1 below.

If you are starting from a CWL v1.1 document, you should be able to trivially change cwlVersion: v1.1 to cwlVersion: v1.2 to be able to take advantage of the new features of v1.2, such as conditional workflow steps.

Upgrading your workflows to CWL v1.1

CWL v1.1 introduces several features to the standard that were previously available as Arvados extensions. CWL v1.1 syntax is backwards compatible with v1.0, so you can just change cwlVersion: v1.0 to cwlVersion: v1.1 and update your script to using the standard features. On Arvados, there is only one behavior change between CWL v1.0 and v1.1 to be aware of: for performance reasons, Directory listings are no longer loaded by default. To control loading Directory listings, use loadListing or LoadListingRequirement (the extension cwltool:LoadListingRequirement is deprecated.)

If a step requires network access, use NetworkAccess instead of the Arvados-specific arv:APIRequirement .

To prevent misbehaving steps from running forever and wasting resources, you can fail the step if it exceeds a certain running time with ToolTimeLimit instead of the deprecated cwltool:TimeLimit .

To control if an individual step can be reused, use WorkReuse instead of the deprecated arv:ReuseRequirement.


Previous: Federated Multi-Cluster Workflows Next: Adding a new Arvados git repository

The content of this documentation is licensed under the Creative Commons Attribution-Share Alike 3.0 United States licence.
Code samples in this documentation are licensed under the Apache License, Version 2.0.