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

Open
#2,282 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.