diff options
author | 2017-11-02 21:21:57 +0000 | |
---|---|---|
committer | 2017-11-02 21:21:57 +0000 | |
commit | af6086d6535e3309e3bd1e521cb4d51ef113f850 (patch) | |
tree | 2023df7c970562496ef1b1f2614bb6c9fcf30f9a /Makefile.release | |
parent | 7d545aeff7403ea41cd859513f02643f0938290d (diff) | |
download | coredns-af6086d6535e3309e3bd1e521cb4d51ef113f850.tar.gz coredns-af6086d6535e3309e3bd1e521cb4d51ef113f850.tar.zst coredns-af6086d6535e3309e3bd1e521cb4d51ef113f850.zip |
release: use for-loop to minimize duplication (#1196)
* release: use for-loop to minize duplication
Use LINUX_ARCH as the basis for all release.
Fix a few typos along the way.
* remove echo
Diffstat (limited to 'Makefile.release')
-rw-r--r-- | Makefile.release | 61 |
1 files changed, 18 insertions, 43 deletions
diff --git a/Makefile.release b/Makefile.release index 3a3d7bf0b..952b00038 100644 --- a/Makefile.release +++ b/Makefile.release @@ -42,7 +42,7 @@ ifeq (, $(shell which gh-release)) endif ifeq (, $(shell which manifest-tool)) - $(error "No manifest-tool in $PATH, install with `go get github.com/estesp/manifest-tool") + $(error "No manifest-tool in $$PATH, install with `go get github.com/estesp/manifest-tool") endif NAME:=coredns @@ -51,6 +51,7 @@ GITHUB:=coredns DOCKER:=coredns DOCKER_IMAGE_NAME:=$(DOCKER)/$(NAME) GITCOMMIT:=$(shell git describe --dirty --always) +LINUX_ARCH=amd64 arm arm64 ppc64le s390x all: @echo Use the 'release' target to start a release @@ -73,29 +74,21 @@ commit: build: @echo Cleaning old builds rm -rf build && mkdir build - @echo Building: linux $(VERSION) - mkdir -p build/linux/amd64 && $(MAKE) coredns BINARY=build/linux/amd64/$(NAME) SYSTEM="GOOS=linux GOARCH=amd64" CHECKS="" @echo Building: darwin $(VERSION) mkdir -p build/darwin/amd64 && $(MAKE) coredns BINARY=build/darwin/amd64/$(NAME) SYSTEM="GOOS=darwin GOARCH=amd64" CHECKS="" - @echo Building: arm $(VERSION) - mkdir -p build/linux/arm && $(MAKE) coredns BINARY=build/linux/arm/$(NAME) SYSTEM="GOOS=linux GOARCH=arm" CHECKS="" - @echo Building: arm64 $(VERSION) - mkdir -p build/linux/arm64 && $(MAKE) coredns BINARY=build/linux/arm64/$(NAME) SYSTEM="GOOS=linux GOARCH=arm64" CHECKS="" - @echo Building: ppc64 $(VERSION) - mkdir -p build/linux/ppc64 && $(MAKE) coredns BINARY=build/linux/ppc64/$(NAME) SYSTEM="GOOS=linux GOARCH=ppc64le" CHECKS="" - @echo Building: s390x $(VERSION) - mkdir -p build/linux/s390 && $(MAKE) coredns BINARY=build/linux/s390/$(NAME) SYSTEM="GOOS=linux GOARCH=s390x" CHECKS="" + for arch in $(LINUX_ARCH); do \ + @echo Building: linux/$$arch $(VERSION) ;\ + mkdir -p build/linux/amd64 && $(MAKE) coredns BINARY=build/linux/$$arch/$(NAME) SYSTEM="GOOS=linux GOARCH=$$arch" CHECKS="" ;\ + done .PHONY: tar tar: @echo Cleaning old releases rm -rf release && mkdir release - tar -zcf release/$(NAME)_$(VERSION)_linux_amd64.tgz -C build/linux/amd64 $(NAME) tar -zcf release/$(NAME)_$(VERSION)_darwin_amd64.tgz -C build/darwin/amd64 $(NAME) - tar -zcf release/$(NAME)_$(VERSION)_linux_arm.tgz -C build/linux/arm $(NAME) - tar -zcf release/$(NAME)_$(VERSION)_linux_arm64.tgz -C build/linux/arm64 $(NAME) - tar -zcf release/$(NAME)_$(VERSION)_linux_ppc64le.tgz -C build/linux/ppc64 $(NAME) - tar -zcf release/$(NAME)_$(VERSION)_linux_s390x.tgz -C build/linux/s390 $(NAME) + for arch in $(LINUX_ARCH); do \ + tar -zcf release/$(NAME)_$(VERSION)_linux_$$arch.tgz -C build/linux/$$arch $(NAME) ;\ + done .PHONY: upload upload: @@ -103,37 +96,19 @@ upload: gh-release create $(GITHUB)/$(NAME) $(VERSION) .PHONY: docker-build -docker-build: - tar -xzf release/$(NAME)_$(VERSION)_linux_amd64.tgz - docker build -t coredns . - docker tag coredns $(DOCKER_IMAGE_NAME):coredns-amd64 - - tar -xzf release/$(NAME)_$(VERSION)_linux_arm.tgz - docker build -t coredns . - docker tag coredns $(DOCKER_IMAGE_NAME):coredns-arm - - tar -xzf release/$(NAME)_$(VERSION)_linux_arm64.tgz - docker build -t coredns . - docker tag coredns $(DOCKER_IMAGE_NAME):coredns-arm64 - - tar -xzf release/$(NAME)_$(VERSION)_linux_ppc64le.tgz - docker build -t coredns . - docker tag coredns $(DOCKER_IMAGE_NAME):coredns-ppc64le - - tar -xzf release/$(NAME)_$(VERSION)_linux_s390x.tgz - docker build -t coredns . - docker tag coredns $(DOCKER_IMAGE_NAME):coredns-s390x - +docker-build: tar + for arch in $(LINUX_ARCH); do \ + tar -xzf release/$(NAME)_$(VERSION)_linux_$$arch.tgz ;\ + docker build -t coredns . ;\ + docker tag coredns $(DOCKER_IMAGE_NAME):coredns-$$arch ;\ + done .PHONY: docker-upload docker-upload: @echo Pushing: $(VERSION) - docker push $(DOCKER_IMAGE_NAME):coredns-amd64 - docker push $(DOCKER_IMAGE_NAME):coredns-arm - docker push $(DOCKER_IMAGE_NAME):coredns-arm64 - docker push $(DOCKER_IMAGE_NAME):coredns-ppc64le - docker push $(DOCKER_IMAGE_NAME):coredns-s390x - + for arch in $(LINUX_ARCH); do \ + docker push $(DOCKER_IMAGE_NAME):coredns-$$arch \; + done manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64,linux/s390x --template $(DOCKER_IMAGE_NAME):coredns-ARCH --target $(DOCKER_IMAGE_NAME):$(VERSION) manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64,linux/s390x --template $(DOCKER_IMAGE_NAME):coredns-ARCH --target $(DOCKER_IMAGE_NAME):latest |