diff --git a/Makefile b/Makefile index e560ff4ac..de33b7fa7 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -ARCHS = amd64 arm64 +ARCHS = amd64 arm64 s390x ppc64le COMMONENVVAR=GOOS=$(shell uname -s | tr A-Z a-z) BUILDENVVAR=CGO_ENABLED=0 INTEGTESTENVVAR=SCHED_PLUGINS_TEST_VERBOSE=1 @@ -46,6 +46,12 @@ build.amd64: build-controller.amd64 build-scheduler.amd64 .PHONY: build.arm64v8 build.arm64v8: build-controller.arm64v8 build-scheduler.arm64v8 +.PHONY: build.ppc64le +build.ppc64le: build-controller.ppc64le build-scheduler.ppc64le + +.PHONY: build.s390x +build.s390x: build-controller.s390x build-scheduler.s390x + .PHONY: build-controller build-controller: $(COMMONENVVAR) $(BUILDENVVAR) go build -ldflags '-w' -o bin/controller cmd/controller/controller.go @@ -58,6 +64,14 @@ build-controller.amd64: build-controller.arm64v8: $(COMMONENVVAR) $(BUILDENVVAR) GOARCH=arm64 go build -ldflags '-w' -o bin/controller cmd/controller/controller.go +.PHONY: build-controller.ppc64le +build-controller.ppc64le: + $(COMMONENVVAR) $(BUILDENVVAR) GOARCH=ppc64le go build -ldflags '-w' -o bin/controller cmd/controller/controller.go + +.PHONY: build-controller.s390x +build-controller.s390x: + $(COMMONENVVAR) $(BUILDENVVAR) GOARCH=s390x go build -ldflags '-w' -o bin/controller cmd/controller/controller.go + .PHONY: build-scheduler build-scheduler: $(COMMONENVVAR) $(BUILDENVVAR) go build -ldflags '-X k8s.io/component-base/version.gitVersion=$(VERSION) -w' -o bin/kube-scheduler cmd/scheduler/main.go @@ -70,6 +84,14 @@ build-scheduler.amd64: build-scheduler.arm64v8: $(COMMONENVVAR) $(BUILDENVVAR) GOARCH=arm64 go build -ldflags '-X k8s.io/component-base/version.gitVersion=$(VERSION) -w' -o bin/kube-scheduler cmd/scheduler/main.go +.PHONY: build-scheduler.ppc64le +build-scheduler.ppc64le: + $(COMMONENVVAR) $(BUILDENVVAR) GOARCH=ppc64le go build -ldflags '-X k8s.io/component-base/version.gitVersion=$(VERSION) -w' -o bin/kube-scheduler cmd/scheduler/main.go + +.PHONY: build-scheduler.s390x +build-scheduler.s390x: + $(COMMONENVVAR) $(BUILDENVVAR) GOARCH=s390x go build -ldflags '-X k8s.io/component-base/version.gitVersion=$(VERSION) -w' -o bin/kube-scheduler cmd/scheduler/main.go + .PHONY: local-image local-image: clean RELEASE_VERSION=$(RELEASE_VERSION) hack/build-images.sh @@ -96,8 +118,30 @@ release-image.arm64v8: clean ALPINE_BASE_IMAGE=$(ALPINE_BASE_IMAGE) \ hack/build-images.sh +.PHONY: release-image.ppc64le +release-image.ppc64le: clean + ARCH="ppc64le" \ + RELEASE_VERSION=$(RELEASE_VERSION) \ + REGISTRY=$(RELEASE_REGISTRY) \ + IMAGE=$(RELEASE_IMAGE)-arm64 \ + CONTROLLER_IMAGE=$(RELEASE_CONTROLLER_IMAGE)-arm64 \ + GO_BASE_IMAGE=$(GO_BASE_IMAGE) \ + ALPINE_BASE_IMAGE=$(ALPINE_BASE_IMAGE) \ + hack/build-images.sh + +.PHONY: release-image.s390x +release-image.s390x: clean + ARCH="s390x" \ + RELEASE_VERSION=$(RELEASE_VERSION) \ + REGISTRY=$(RELEASE_REGISTRY) \ + IMAGE=$(RELEASE_IMAGE)-arm64 \ + CONTROLLER_IMAGE=$(RELEASE_CONTROLLER_IMAGE)-arm64 \ + GO_BASE_IMAGE=$(GO_BASE_IMAGE) \ + ALPINE_BASE_IMAGE=$(ALPINE_BASE_IMAGE) \ + hack/build-images.sh + .PHONY: push-release-images -push-release-images: release-image.amd64 release-image.arm64v8 +push-release-images: release-image.amd64 release-image.arm64v8 release-image.s390x release-image.ppc64le gcloud auth configure-docker for arch in $(ARCHS); do \ docker push $(RELEASE_REGISTRY)/$(RELEASE_IMAGE)-$${arch} ;\