common-workflow-language / common-workflow-language/cwltool
inline anonymous cwl tools have unstable generated IDs
- Dominant language
- Python
- Stars
- 376
- Forks
- 255
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 12
Description
For workflows with tools that are specified in-line and don't have their own IDs (e.g. see https://github.com/common-workflow-language/cwl-v1.2/blob/main/tests/timelimit2-wf.cwl), the parser gives the tools randomly generated IDs. Importantly, those IDs are not stable, i.e. if I run `--print-subgraph` to get the ID and then run `--single-process ` it doesn’t work because the ID has changed between the first and second invocation.
I can think of two possible solutions to this:
* Use the stage ID and add `/run` (or some other pre-defined suffix) to get the tool ID. So if the stage ID is `#main/step1` then the tool ID would be `#main/step1/run`.
* Hash the contents of `run` and use the value as the ID.
Contributor guide
Assessment
This issue has not been assessed yet.