common-workflow-language / common-workflow-language/cwltool
`dockerFile` always built when `dockerImageId` specified
- Dominant language
- Python
- Stars
- 376
- Forks
- 255
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 12
Description
@mr-c
Previously, if the container image named in `dockerImageId` was found, then the image was not built: the instructions in `dockerFile` were used only if needed. With this change, a new image is built regardless, whenever `dockerFile` is present.
Is this intentional? That is, does the language in [5.5 DockerRequitrement](https://www.commonwl.org/v1.0/CommandLineTool.html#DockerRequirement)
> dockerFile optional string Supply the contents of a Dockerfile which will be built using docker build.
mean that the image _MUST_ be built if `dockerFile` is specified, not _MAY_ be built if `dockerImageId` is not found?
We provide `dockerFile` in our CommandLineTools as a backup for when the image is not already present, but with Podman we are finding that our images are rebuilt at every execution of the tool.
Thanks in advance for the clarification
_Originally posted by @davidjsherman in https://github.com/common-workflow-language/cwltool/issues/1979#issuecomment-3491765036_
Contributor guide
Research direction
Read the CWL 1.0 DockerRequirement language cited in the issue, then trace the container-image handling that distinguishes dockerImageId from dockerFile, including execution with Podman. Done means the project’s intended build behavior is clarified and the repeated rebuild behavior is addressed or documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100