common-workflow-language / common-workflow-language/cwltool

inline anonymous cwl tools have unstable generated IDs

Open
#1,520 0 comments 0 reactions 0 assignees View on GitHub
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

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.