Skip to content

cwl-runner --pack is not idempotent #560

Closed
@wgerlach

Description

@wgerlach

Expected Behavior

Running cwl-runner --pack on an already packed (normalized) cwl workflow should create the same file again.

Actual Behavior

Id fields do get an additional path "main":

cwl-runner --pack ./v1.0/null-expression1-tool.cwl ./v1.0/null-expression1-job.json > test.txt
cwl-runner --pack test.txt > test2.txt
diff test*
--- test.txt
+++ test2.txt
@@ -9,13 +9,13 @@
         {
             "type": "Any", 
             "default": "the-default", 
-            "id": "#main/i1"
+            "id": "#main/main/i1"
         }
     ], 
     "outputs": [
         {
             "type": "int", 
-            "id": "#main/output"
+            "id": "#main/main/output"
         }
     ], 
     "expression": "$({'output': (inputs.i1 == 'the-default' ? 1 : 2)})", 

Workflow Code

See compliance tests
v1.0/null-expression1-tool.cwl

Full Traceback

NA

Your Environment

  • cwltool version: 1.0.20171017195544
    Check using cwltool --version

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions