Image Promoter: Allows images to be pushed immediately after being built

In the current version, due to how make works, when building all the conformance
images (make all-push WHAT=all-conformance), ALL the images are being built first
before being pushed.

This PR will allow images to be built and pushed immediately afterwards, so the first
images that have been succesfully built are already pushed and promotable, even if
the the task failed on the last image, or it timed out.
This commit is contained in:
Claudiu Belu 2020-02-27 06:00:03 -08:00
parent 67c6767b7d
commit 117cbda487
3 changed files with 13 additions and 2 deletions

View File

@ -37,4 +37,7 @@ all-container:
all-push: all-container
./image-util.sh push $(WHAT)
.PHONY: all all-push all-container
all-build-and-push:
./image-util.sh build_and_push ${WHAT}
.PHONY: all all-build-and-push all-push all-container

View File

@ -19,7 +19,7 @@ steps:
- REGISTRY=gcr.io/k8s-staging-e2e-test-images
# TODO(claudiub): Readd the REMOTE_DOCKER_URL_${os_version} to reenable the Windows test image building process.
args:
- all-push
- all-build-and-push
substitutions:
# _GIT_TAG will be filled with a git-based tag for the image, of the form vYYYYMMDD-hash, and
# can be used as a substitution

View File

@ -237,6 +237,14 @@ push() {
docker manifest push --purge "${REGISTRY}/${image}:${TAG}"
}
# This function is for building AND pushing images. Useful if ${WHAT} is "all-conformance".
# This will allow images to be pushed immediately after they've been pushed.
build_and_push() {
image=$1
build "${image}"
push "${image}"
}
# This function is for building the go code
bin() {
local arch_prefix=""