diff --git a/lib.Makefile b/lib.Makefile index 493591155b1..f69702b98f7 100644 --- a/lib.Makefile +++ b/lib.Makefile @@ -876,6 +876,12 @@ push-image-arch-to-registry-%: $(NOECHO) $(NOOP)\ ) +# push multi-arch manifest where supported. +push-manifests: var-require-all-IMAGETAG $(addprefix sub-manifest-,$(call escapefs,$(PUSH_MANIFEST_IMAGES))) +sub-manifest-%: + $(DOCKER) manifest create $(call unescapefs,$*):$(IMAGETAG) $(addprefix --amend ,$(addprefix $(call unescapefs,$*):$(IMAGETAG)-,$(VALIDARCHES))) + $(DOCKER) manifest push $(call unescapefs,$*):$(IMAGETAG) + # cd-common tags and pushes images with the branch name and git version. This target uses PUSH_IMAGES, BUILD_IMAGE, # and BRANCH_NAME env variables to figure out what to tag and where to push it to. cd-common: var-require-one-of-CONFIRM-DRYRUN var-require-all-BRANCH_NAME