Skip to content

Commit 45fd5c2

Browse files
Add make task for publishing docker manifests
1 parent b6ed0bc commit 45fd5c2

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

Makefile

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ GOTESTSUM := $(abspath $(TOOLS_BIN_DIR)/gotestsum)
6161
GINKGO := $(abspath $(TOOLS_BIN_DIR)/ginkgo)
6262
ENVSUBST := $(abspath $(TOOLS_BIN_DIR)/envsubst)
6363

64+
# It is set by Prow GIT_TAG, a git-based tag of the form vYYYYMMDD-hash, e.g., v20210120-v0.3.10-308-gc61521971
65+
TAG ?= dev
66+
ARCH ?= amd64
67+
ALL_ARCH = amd64 arm arm64 ppc64le s390x
68+
6469
# Define Docker related variables. Releases should modify and double check these vars.
6570
STAGING_REGISTRY ?= gcr.io/k8s-staging-capi-operator
6671
STAGING_BUCKET ?= artifacts.k8s-staging-capi-operator.appspot.com
@@ -73,11 +78,6 @@ IMAGE_NAME ?= cluster-api-operator
7378
CONTROLLER_IMG ?= $(REGISTRY)/$(IMAGE_NAME)
7479
CONTROLLER_IMG_TAG ?= $(CONTROLLER_IMG)-$(ARCH):$(TAG)
7580

76-
# It is set by Prow GIT_TAG, a git-based tag of the form vYYYYMMDD-hash, e.g., v20210120-v0.3.10-308-gc61521971
77-
TAG ?= dev
78-
ARCH ?= amd64
79-
ALL_ARCH = amd64 arm arm64 ppc64le s390x
80-
8181
# Set build time variables including version details
8282
LDFLAGS := $(shell $(ROOT)/hack/version.sh)
8383

@@ -274,6 +274,13 @@ docker-build-%:
274274
docker-push-all: $(addprefix docker-push-,$(ALL_ARCH))
275275
$(MAKE) docker-push-manifest
276276

277+
.PHONY: docker-push-manifest
278+
docker-push-manifest: ## Push the fat manifest docker image.
279+
## Minimum docker version 18.06.0 is required for creating and pushing manifest images.
280+
docker manifest create --amend $(CONTROLLER_IMG):$(TAG) $(shell echo $(ALL_ARCH) | sed -e "s~[^ ]*~$(CONTROLLER_IMG)\-&:$(TAG)~g")
281+
@for arch in $(ALL_ARCH); do docker manifest annotate --arch $${arch} ${CONTROLLER_IMG}:${TAG} ${CONTROLLER_IMG}-$${arch}:${TAG}; done
282+
docker manifest push --purge ${CONTROLLER_IMG}:${TAG}
283+
277284
docker-push-%:
278285
$(MAKE) ARCH=$* docker-push
279286

0 commit comments

Comments
 (0)