mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 08:14:18 -04:00
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
This commit is contained in:
@@ -42,7 +42,7 @@ ifeq (, $(shell which gh-release))
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (, $(shell which manifest-tool))
|
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
|
endif
|
||||||
|
|
||||||
NAME:=coredns
|
NAME:=coredns
|
||||||
@@ -51,6 +51,7 @@ GITHUB:=coredns
|
|||||||
DOCKER:=coredns
|
DOCKER:=coredns
|
||||||
DOCKER_IMAGE_NAME:=$(DOCKER)/$(NAME)
|
DOCKER_IMAGE_NAME:=$(DOCKER)/$(NAME)
|
||||||
GITCOMMIT:=$(shell git describe --dirty --always)
|
GITCOMMIT:=$(shell git describe --dirty --always)
|
||||||
|
LINUX_ARCH=amd64 arm arm64 ppc64le s390x
|
||||||
|
|
||||||
all:
|
all:
|
||||||
@echo Use the 'release' target to start a release
|
@echo Use the 'release' target to start a release
|
||||||
@@ -73,29 +74,21 @@ commit:
|
|||||||
build:
|
build:
|
||||||
@echo Cleaning old builds
|
@echo Cleaning old builds
|
||||||
rm -rf build && mkdir build
|
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)
|
@echo Building: darwin $(VERSION)
|
||||||
mkdir -p build/darwin/amd64 && $(MAKE) coredns BINARY=build/darwin/amd64/$(NAME) SYSTEM="GOOS=darwin GOARCH=amd64" CHECKS=""
|
mkdir -p build/darwin/amd64 && $(MAKE) coredns BINARY=build/darwin/amd64/$(NAME) SYSTEM="GOOS=darwin GOARCH=amd64" CHECKS=""
|
||||||
@echo Building: arm $(VERSION)
|
for arch in $(LINUX_ARCH); do \
|
||||||
mkdir -p build/linux/arm && $(MAKE) coredns BINARY=build/linux/arm/$(NAME) SYSTEM="GOOS=linux GOARCH=arm" CHECKS=""
|
@echo Building: linux/$$arch $(VERSION) ;\
|
||||||
@echo Building: arm64 $(VERSION)
|
mkdir -p build/linux/amd64 && $(MAKE) coredns BINARY=build/linux/$$arch/$(NAME) SYSTEM="GOOS=linux GOARCH=$$arch" CHECKS="" ;\
|
||||||
mkdir -p build/linux/arm64 && $(MAKE) coredns BINARY=build/linux/arm64/$(NAME) SYSTEM="GOOS=linux GOARCH=arm64" CHECKS=""
|
done
|
||||||
@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=""
|
|
||||||
|
|
||||||
.PHONY: tar
|
.PHONY: tar
|
||||||
tar:
|
tar:
|
||||||
@echo Cleaning old releases
|
@echo Cleaning old releases
|
||||||
rm -rf release && mkdir release
|
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)_darwin_amd64.tgz -C build/darwin/amd64 $(NAME)
|
||||||
tar -zcf release/$(NAME)_$(VERSION)_linux_arm.tgz -C build/linux/arm $(NAME)
|
for arch in $(LINUX_ARCH); do \
|
||||||
tar -zcf release/$(NAME)_$(VERSION)_linux_arm64.tgz -C build/linux/arm64 $(NAME)
|
tar -zcf release/$(NAME)_$(VERSION)_linux_$$arch.tgz -C build/linux/$$arch $(NAME) ;\
|
||||||
tar -zcf release/$(NAME)_$(VERSION)_linux_ppc64le.tgz -C build/linux/ppc64 $(NAME)
|
done
|
||||||
tar -zcf release/$(NAME)_$(VERSION)_linux_s390x.tgz -C build/linux/s390 $(NAME)
|
|
||||||
|
|
||||||
.PHONY: upload
|
.PHONY: upload
|
||||||
upload:
|
upload:
|
||||||
@@ -103,37 +96,19 @@ upload:
|
|||||||
gh-release create $(GITHUB)/$(NAME) $(VERSION)
|
gh-release create $(GITHUB)/$(NAME) $(VERSION)
|
||||||
|
|
||||||
.PHONY: docker-build
|
.PHONY: docker-build
|
||||||
docker-build:
|
docker-build: tar
|
||||||
tar -xzf release/$(NAME)_$(VERSION)_linux_amd64.tgz
|
for arch in $(LINUX_ARCH); do \
|
||||||
docker build -t coredns .
|
tar -xzf release/$(NAME)_$(VERSION)_linux_$$arch.tgz ;\
|
||||||
docker tag coredns $(DOCKER_IMAGE_NAME):coredns-amd64
|
docker build -t coredns . ;\
|
||||||
|
docker tag coredns $(DOCKER_IMAGE_NAME):coredns-$$arch ;\
|
||||||
tar -xzf release/$(NAME)_$(VERSION)_linux_arm.tgz
|
done
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: docker-upload
|
.PHONY: docker-upload
|
||||||
docker-upload:
|
docker-upload:
|
||||||
@echo Pushing: $(VERSION)
|
@echo Pushing: $(VERSION)
|
||||||
docker push $(DOCKER_IMAGE_NAME):coredns-amd64
|
for arch in $(LINUX_ARCH); do \
|
||||||
docker push $(DOCKER_IMAGE_NAME):coredns-arm
|
docker push $(DOCKER_IMAGE_NAME):coredns-$$arch \;
|
||||||
docker push $(DOCKER_IMAGE_NAME):coredns-arm64
|
done
|
||||||
docker push $(DOCKER_IMAGE_NAME):coredns-ppc64le
|
|
||||||
docker push $(DOCKER_IMAGE_NAME):coredns-s390x
|
|
||||||
|
|
||||||
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):$(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
|
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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user