19466: Add cwl_input and cwl_output to properties for workflow steps
authorPeter Amstutz <peter.amstutz@curii.com>
Mon, 3 Oct 2022 19:49:46 +0000 (15:49 -0400)
committerPeter Amstutz <peter.amstutz@curii.com>
Mon, 3 Oct 2022 19:49:46 +0000 (15:49 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

sdk/cwl/arvados_cwl/arvcontainer.py

index e9b58bc83b2fb4b655676acab301a6528f170a77..66fe143e0f42d169d29ec04e85ddd50a6702f1c9 100644 (file)
@@ -91,6 +91,8 @@ class ArvadosContainer(JobBase):
         container_request["state"] = "Committed"
         container_request.setdefault("properties", {})
 
+        container_request["properties"]["cwl_input"] = self.joborder
+
         runtime_constraints = {}
 
         if runtimeContext.project_uuid:
@@ -437,6 +439,13 @@ class ArvadosContainer(JobBase):
 
             if container["output"]:
                 outputs = done.done_outputs(self, container, "/tmp", self.outdir, "/keep")
+
+            properties = record["properties"].copy()
+            properties["cwl_output"] = outputs
+            self.arvrunner.api.container_requests().update(
+                uuid=self.uuid,
+                body={"container_request": {"properties": properties}}
+            ).execute(num_retries=self.arvrunner.num_retries)
         except WorkflowException as e:
             # Only include a stack trace if in debug mode.
             # A stack trace may obfuscate more useful output about the workflow.