13976: Filter out keep references with secondaryFiles from list of files to upload
[arvados.git] / sdk / cwl / arvados_cwl / runner.py
index a0617e1df68e8955ef71a33952c1afe9498ac58c..79be881912eba88100b75423715869128ceb6c1c 100644 (file)
@@ -129,8 +129,7 @@ def upload_dependencies(arvrunner, name, document_loader,
 
     sc = []
     def only_real(obj):
-        loc = obj.get("location", "")
-        if loc.startswith("file:") or loc.startswith("keep:"):
+        if obj.get("location", "").startswith("file:"):
             sc.append(obj)
 
     visit_class(sc_result, ("File", "Directory"), only_real)
@@ -169,8 +168,13 @@ def upload_dependencies(arvrunner, name, document_loader,
 
     visit_class(workflowobj, ("CommandLineTool", "Workflow"), discover_default_secondary_files)
 
-    for d in discovered:
-        sc.extend(discovered[d])
+    for d in list(discovered.keys()):
+        # Only interested in discovered secondaryFiles which are local
+        # files that need to be uploaded.
+        if d.startswith("file:"):
+            sc.extend(discovered[d])
+        else:
+            del discovered[d]
 
     mapper = ArvPathMapper(arvrunner, sc, "",
                            "keep:%s",