17858: Add ExpressionTool to classes checked for ids when visiting
authorPeter Amstutz <peter.amstutz@curii.com>
Wed, 7 Jul 2021 14:02:05 +0000 (10:02 -0400)
committerPeter Amstutz <peter.amstutz@curii.com>
Wed, 7 Jul 2021 17:47:39 +0000 (13:47 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

sdk/cwl/arvados_cwl/runner.py

index 7664abef7c52ffe95f3c114ac1ba1ee9d833f8f9..9dc73f52ffdba57e33c80c3275bfa5a9426e8780 100644 (file)
@@ -471,7 +471,7 @@ def packed_workflow(arvrunner, tool, merged_map):
 
     def visit(v, cur_id):
         if isinstance(v, dict):
-            if v.get("class") in ("CommandLineTool", "Workflow"):
+            if v.get("class") in ("CommandLineTool", "Workflow", "ExpressionTool"):
                 if tool.metadata["cwlVersion"] == "v1.0" and "id" not in v:
                     raise SourceLine(v, None, Exception).makeError("Embedded process object is missing required 'id' field, add an 'id' or use to cwlVersion: v1.1")
                 if "id" in v: