common-workflow-language / common-workflow-language/cwltool

`dockerFile` always built when `dockerImageId` specified

Open
#2,175 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.