Skip to content

Commit 6dab84b

Browse files
authored
Merge pull request #99 from common-workflow-language/reqs-in-jobdocs
cwl:requirements support in job input documents
2 parents e20ad00 + 530c693 commit 6dab84b

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

cwltool/main.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,16 @@ def output_callback(out, processStatus):
174174
else:
175175
kwargs["outdir"] = tempfile.mkdtemp()
176176

177+
jobReqs = None
178+
if "cwl:requirements" in job_order_object:
179+
jobReqs = job_order_object["cwl:requirements"]
180+
elif ("cwl:defaults" in t.metadata and "cwl:requirements" in
181+
t.metadata["cwl:defaults"]):
182+
jobReqs = t.metadata["cwl:defaults"]["cwl:requirements"]
183+
if jobReqs:
184+
for req in jobReqs:
185+
t.requirements.append(req)
186+
177187
jobiter = t.job(job_order_object,
178188
output_callback,
179189
**kwargs)

tests/echo-cwlrun-job.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
cwl:tool: echo.cwl
2+
cwl:requirements:
3+
- class: DockerRequirement
4+
dockerPull: debian
5+
6+
inp: "Hoopla!"

tests/echo-job.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
cwl:requirements:
2+
- class: DockerRequirement
3+
dockerPull: debian
4+
5+
inp: "Howdy!"

0 commit comments

Comments
 (0)