Closed davidjsherman closed 8 months ago
This blocks requesting provenance when using Calrissian, which calls cwltool.main
directly with preparsed arguments and no unparsed arguments.
This issue has been mentioned on Common Workflow Language Discourse. There might be relevant details there:
https://cwl.discourse.group/t/cwltool-main-text-arguments-a-hard-requirement-for-provenance/862/2
Dear @davidjsherman , thank you for the issue and your interest in supporting CWLProv on Calrissian!
I think this is a typing error and I would accept a PR to fix it by removing the exception and adjusting the types to be Optional
.
This issue has been mentioned on Common Workflow Language Discourse. There might be relevant details there:
https://cwl.discourse.group/t/cwltool-main-text-arguments-a-hard-requirement-for-provenance/862/3
Expected Behavior
Calling
cwltool.main()
with preparsed args only, but including--provenance
, should execute and create a RO-Crate, the same as when running as a script.Actual Behavior
The execution fails, raising
Exception("argsl cannot be None")
Workflow Code
Program
prov-no-argsl.py
:Assuming
hello_world.cwl
is in the working directoryFull Traceback
Your Environment
Remarks
Note that if the unparsed arguments are also provided, then execution proceeds as expected
Program
prov-with-argsl.py
:Note further that it is only when requesting provenance that this error occurs.
Program
no-prov.py
: