From c25a2e0fac398c4454578abef8ea0870099fac97 Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Sun, 24 Jun 2018 11:21:58 -0700 Subject: [PATCH] Replace gh-release with curl (#1896) * Replace gh-release with curl This fix tries to address the issue raised in 1895 where gh-release is deprecated. As GitHub provides API that could be accessed easily, and gh-release itself is just a wrapper to the API, this fix replaces gh-release with the direct interaction with GitHub API, so that it could be maintained by coredns team. This fix fixes 1895. Signed-off-by: Yong Tang * Added `-o /dev/null` Signed-off-by: Yong Tang --- Makefile.release | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Makefile.release b/Makefile.release index e046c3793..9dd8f7bbd 100644 --- a/Makefile.release +++ b/Makefile.release @@ -46,8 +46,8 @@ EMPTY:= SPACE:=$(EMPTY) $(EMPTY) COMMA:=$(EMPTY),$(EMPTY) -ifeq (, $(shell which gh-release)) - $(error "No gh-release in $$PATH, install with: go get github.com/progrium/gh-release") +ifeq (, $(shell which curl)) + $(error "No curl in $$PATH, please install") endif ifeq (, $(shell which manifest-tool)) @@ -115,7 +115,14 @@ tar: .PHONY: upload upload: @echo Releasing: $(VERSION) - gh-release create $(GITHUB)/$(NAME) $(VERSION) + $(eval RELEASE:=$(shell curl -s -d '{"tag_name": "v$(VERSION)", "name": "v$(VERSION)"}' "https://api.github.com/repos/$(GITHUB)/$(NAME)/releases?access_token=${GITHUB_ACCESS_TOKEN}" | grep -m 1 '"id"' | tr -cd '[[:digit:]]')) + @echo ReleaseID: $(RELEASE) + @for asset in `ls -A release`; do \ + curl -o /dev/null -X POST \ + -H "Content-Type: application/gzip" \ + --data-binary "@release/$$asset" \ + "https://uploads.github.com/repos/$(GITHUB)/$(NAME)/releases/$(RELEASE)/assets?name=$${asset}&access_token=${GITHUB_ACCESS_TOKEN}" ; \ + done .PHONY: docker-build docker-build: tar