summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-01-27 14:56:07 -0500
committerGitHub <noreply@github.com>2021-01-27 14:56:07 -0500
commit14cc4aaf0a364bf0f4f7f77ec5f58fd79b1cb99e (patch)
treeb639565d6f81d026bfb545a14e4e775e2f7c0364
parent1814fa2d21494a543881d7dc5bacffbb04d85d18 (diff)
parent15caebfe561952eaadd4896b7efb56f26724cce5 (diff)
downloadpodman-14cc4aaf0a364bf0f4f7f77ec5f58fd79b1cb99e.tar.gz
podman-14cc4aaf0a364bf0f4f7f77ec5f58fd79b1cb99e.tar.bz2
podman-14cc4aaf0a364bf0f4f7f77ec5f58fd79b1cb99e.zip
Merge pull request #9127 from vrothberg/fix-9111
podman build --pull: use correct policy
-rw-r--r--cmd/podman/images/build.go2
-rw-r--r--test/system/070-build.bats23
2 files changed, 24 insertions, 1 deletions
diff --git a/cmd/podman/images/build.go b/cmd/podman/images/build.go
index 4219e325b..957c0ac2d 100644
--- a/cmd/podman/images/build.go
+++ b/cmd/podman/images/build.go
@@ -266,7 +266,7 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil
pullPolicy := imagebuildah.PullIfMissing
if c.Flags().Changed("pull") && flags.Pull {
- pullPolicy = imagebuildah.PullAlways
+ pullPolicy = imagebuildah.PullIfNewer
}
if flags.PullAlways {
pullPolicy = imagebuildah.PullAlways
diff --git a/test/system/070-build.bats b/test/system/070-build.bats
index 7a42a4c18..6b5bc68fb 100644
--- a/test/system/070-build.bats
+++ b/test/system/070-build.bats
@@ -29,6 +29,29 @@ EOF
run_podman rmi -f build_test
}
+@test "podman build - basic test with --pull" {
+ rand_filename=$(random_string 20)
+ rand_content=$(random_string 50)
+
+ run_podman tag $IMAGE localhost/localonly
+
+ tmpdir=$PODMAN_TMPDIR/build-test
+ mkdir -p $tmpdir
+ dockerfile=$tmpdir/Dockerfile
+ cat >$dockerfile <<EOF
+FROM localhost/localonly
+RUN echo $rand_content > /$rand_filename
+EOF
+ # With --pull, Podman would try to pull a newer image but use the local one
+ # if present. See #9111.
+ run_podman build --pull -t build_test $tmpdir
+
+ run_podman run --rm build_test cat /$rand_filename
+ is "$output" "$rand_content" "reading generated file in image"
+
+ run_podman rmi -f build_test localhost/localonly
+}
+
@test "podman build - global runtime flags test" {
skip_if_remote "--runtime-flag flag not supported for remote"