Closed
Description
Expected Behavior
If you have a CommandLineTool with an output of something like:
output:
type: File
secondaryFiles:
- pattern: ^.ext2
required: true
outputBinding:
glob: file.ext1
cwltool should succeed if output files with extensions .ext1
and .ext2
exist in the output folder, when using:
requirements:
DockerRequirement:
dockerPull: ubuntu:20.04
Actual Behavior
This causes an error.
Workflow Code
#!/usr/bin/env cwl-runner
cwlVersion: v1.2
class: CommandLineTool
requirements:
DockerRequirement:
dockerPull: ubuntu:20.04
baseCommand:
- bash
- -c
- touch file.ext1 && touch file.ext2
inputs: []
outputs:
output:
type: File
secondaryFiles:
- pattern: ^.ext2
required: true
outputBinding:
glob: file.ext1
Full Traceback
$ cwltool --debug test.cwl
INFO /home/user/.local/bin/cwltool 3.1.20230624081518
INFO Resolved 'test.cwl' to 'file:///home/user/test.cwl'
DEBUG Parsed job order from command line: {
"id": "test.cwl"
}
DEBUG [job test.cwl] initializing from file:///home/user/test.cwl
DEBUG [job test.cwl] {}
DEBUG [job test.cwl] path mappings is {}
DEBUG [job test.cwl] command line bindings is [
{
"position": [
-1000000,
0
],
"datum": "bash"
},
{
"position": [
-1000000,
1
],
"datum": "-c"
},
{
"position": [
-1000000,
2
],
"datum": "touch file.ext1 && touch file.ext2"
}
]
DEBUG [job test.cwl] initial work dir {}
INFO [job test.cwl] /tmp/hr1231gc$ docker \
run \
-i \
--mount=type=bind,source=/tmp/hr1231gc,target=/ejjPTP \
--mount=type=bind,source=/tmp/m9f50qdw,target=/tmp \
--workdir=/ejjPTP \
--read-only=true \
--net=none \
--user=1000:1000 \
--rm \
--cidfile=/tmp/6_1oisyz/20230630162631-435717.cid \
--env=TMPDIR=/tmp \
--env=HOME=/ejjPTP \
ubuntu:20.04 \
bash \
-c \
'touch file.ext1 && touch file.ext2'
INFO [job test.cwl] Max memory used: 0MiB
ERROR [job test.cwl] Job error:
("Error collecting output for parameter 'output': test.cwl:20:5: Missing required secondary file '/ejjPTP/file.ext2'", {})
WARNING [job test.cwl] completed permanentFail
DEBUG [job test.cwl] outputs {}
DEBUG [job test.cwl] Removing input staging directory /tmp/ov123yse
DEBUG [job test.cwl] Removing temporary directory /tmp/m9f50qdw
DEBUG Removing intermediate output directory /tmp/hr1231gc
{}WARNING Final process status is permanentFail
ERROR [job test.cwl] Job error:
("Error collecting output for parameter 'output': test.cwl:20:5: Missing required secondary file '/BBMzhN/file.ext2'", {})
WARNING [job test.cwl] completed permanentFail
DEBUG [job test.cwl] outputs {}
DEBUG [job test.cwl] Removing input staging directory /tmp/bhsgvfzk
DEBUG [job test.cwl] Removing temporary directory /tmp/afj9_yrv
DEBUG Removing intermediate output directory /tmp/h6ucwttr
{}
WARNING Final process status is permanentFail
Your Environment
- cwltool version: 3.1.20220830195442
Metadata
Metadata
Assignees
Labels
No labels