common-workflow-language / common-workflow-language/cwltool
When a workflow cannot be loaded because `--enable-ext` was not provided, the error message does not explain this
- Dominant language
- Python
- Stars
- 376
- Forks
- 255
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 12
Description
As noted in https://github.com/DataBiosphere/toil/issues/5528, when a CWL workflow depends on an extension as a requirement, and `--enable-ext` is not provided, you get a message like this:
```
ERROR Tool definition failed validation:
mpich-mpirun-mpi-requirement.cwl:52:1: checking field 'requirements'
mpich-mpirun-mpi-requirement.cwl:54:3: checking item
Field 'class' contains undefined reference to
'http://commonwl.org/cwltool#MPIRequirement'
```
This is the same error message as if the requirement were somehow misspelled. It does not indicate that the workflow might become understandable to cwltool if `--enable-ext` were provided, or even that the problem is that an unknown extension is required by the workflow, a situation we anticipate (rather than the workflow being corrupted or malformed in an unexpected way). It also talks about a `class` field, which doesn't actually appear in the document, since I am using the format where requirements is a YAML dict and the requirement name is the key.
This error message should be improved so that, when the user runs a workflow that needs `--enable-ext` without that flag, the output text suggests trying it with `--enable-ext`.
It should also be improved to explain that the problem is that `cwltool` does not (as currently configured) support the `blah` extension, as used in file `blah.cwl`.
Contributor guide
Assessment
This issue has not been assessed yet.