Support github release.

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi Wu 2016-12-08 11:43:23 +08:00
parent 1f2da28f4b
commit bd51a03cc1
4 changed files with 45 additions and 5 deletions

View File

@ -19,12 +19,26 @@ pipeline:
- make lint - make lint
- make build - make build
- coverage all - coverage all
# send coverage report
- curl -s https://codecov.io/bash > .codecov && - curl -s https://codecov.io/bash > .codecov &&
chmod +x .codecov && chmod +x .codecov &&
./.codecov -t ${CODECOV_TOKEN} -f .cover/coverage.txt ./.codecov -t ${CODECOV_TOKEN} -f .cover/coverage.txt
# build binary for docker image # build binary for docker image
- make docker_binary_build - make docker_binary_build
release:
image: appleboy/golang-testing:${GO_VERSION}
pull: true
environment:
TAGS: netgo
commands:
- make release
when:
event: [ tag ]
branch: [ refs/tags/* ]
matrix:
GO_VERSION: 1.7.4
docker: docker:
image: plugins/docker image: plugins/docker
repo: appleboy/gorush repo: appleboy/gorush
@ -50,6 +64,16 @@ pipeline:
matrix: matrix:
GO_VERSION: 1.7.4 GO_VERSION: 1.7.4
github:
image: plugins/github-release
files:
- dist/release/*
when:
event: [ tag ]
branch: [ refs/tags/* ]
matrix:
GO_VERSION: 1.7.4
# rebuild the cache on the sftp server # rebuild the cache on the sftp server
rebuild_cache: rebuild_cache:
image: appleboy/drone-sftp-cache image: appleboy/drone-sftp-cache

View File

@ -1 +1 @@
eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIHBhdGg6IC9nby9zcmMvZ2l0aHViLmNvbS9hcHBsZWJveS9nb3J1c2gKCnBpcGVsaW5lOgogICMgcmVzdG9yZSB0aGUgY2FjaGUgZnJvbSBhbiBzZnRwIHNlcnZlcgogIHJlc3RvcmVfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVzdG9yZTogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQoKICBidWlsZDoKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZzoke0dPX1ZFUlNJT059CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBHT1BBVEg9L2dvCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIGRlcF9pbnN0YWxsCiAgICAgIC0gbWFrZSB2ZXQKICAgICAgLSBtYWtlIGxpbnQKICAgICAgLSBtYWtlIGJ1aWxkCiAgICAgIC0gY292ZXJhZ2UgYWxsCiAgICAgIC0gY3VybCAtcyBodHRwczovL2NvZGVjb3YuaW8vYmFzaCA-IC5jb2RlY292ICYmCiAgICAgICAgY2htb2QgK3ggLmNvZGVjb3YgJiYKICAgICAgICAuLy5jb2RlY292IC10ICR7Q09ERUNPVl9UT0tFTn0gLWYgLmNvdmVyL2NvdmVyYWdlLnR4dAogICAgICAjIGJ1aWxkIGJpbmFyeSBmb3IgZG9ja2VyIGltYWdlCiAgICAgIC0gbWFrZSBkb2NrZXJfYmluYXJ5X2J1aWxkCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICcke0RST05FX1RBR30nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICdsYXRlc3QnIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgbWFzdGVyIF0KCiAgZmFjZWJvb2s6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtZmFjZWJvb2sKICAgIHB1bGw6IHRydWUKICAgIHRvOiAxMjM0OTczMzg2NTI0NjEwCiAgICB3aGVuOgogICAgICBzdGF0dXM6IFsgc3VjY2VzcywgZmFpbHVyZSBdCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcuNAoKICAjIHJlYnVpbGQgdGhlIGNhY2hlIG9uIHRoZSBzZnRwIHNlcnZlcgogIHJlYnVpbGRfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVidWlsZDogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNy40CgpzZXJ2aWNlczoKICByZWRpczoKICAgIGltYWdlOiByZWRpczphbHBpbmUKCm1hdHJpeDoKICBHT19WRVJTSU9OOgogICAgLSAxLjcuNAogICAgLSAxLjYuNAo.JfCV20soCVQlo7bI_dAvEeoQPKtmUDep_E7vab1wFrM eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIHBhdGg6IC9nby9zcmMvZ2l0aHViLmNvbS9hcHBsZWJveS9nb3J1c2gKCnBpcGVsaW5lOgogICMgcmVzdG9yZSB0aGUgY2FjaGUgZnJvbSBhbiBzZnRwIHNlcnZlcgogIHJlc3RvcmVfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVzdG9yZTogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQoKICBidWlsZDoKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZzoke0dPX1ZFUlNJT059CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBHT1BBVEg9L2dvCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIGRlcF9pbnN0YWxsCiAgICAgIC0gbWFrZSB2ZXQKICAgICAgLSBtYWtlIGxpbnQKICAgICAgLSBtYWtlIGJ1aWxkCiAgICAgIC0gY292ZXJhZ2UgYWxsCiAgICAgICMgc2VuZCBjb3ZlcmFnZSByZXBvcnQKICAgICAgLSBjdXJsIC1zIGh0dHBzOi8vY29kZWNvdi5pby9iYXNoID4gLmNvZGVjb3YgJiYKICAgICAgICBjaG1vZCAreCAuY29kZWNvdiAmJgogICAgICAgIC4vLmNvZGVjb3YgLXQgJHtDT0RFQ09WX1RPS0VOfSAtZiAuY292ZXIvY292ZXJhZ2UudHh0CiAgICAgICMgYnVpbGQgYmluYXJ5IGZvciBkb2NrZXIgaW1hZ2UKICAgICAgLSBtYWtlIGRvY2tlcl9iaW5hcnlfYnVpbGQKCiAgcmVsZWFzZToKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZzoke0dPX1ZFUlNJT059CiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogbmV0Z28KICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgcmVsZWFzZQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgdGFnIF0KICAgICAgYnJhbmNoOiBbIHJlZnMvdGFncy8qIF0KICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNy40CgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICcke0RST05FX1RBR30nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICdsYXRlc3QnIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgbWFzdGVyIF0KCiAgZmFjZWJvb2s6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtZmFjZWJvb2sKICAgIHB1bGw6IHRydWUKICAgIHRvOiAxMjM0OTczMzg2NTI0NjEwCiAgICB3aGVuOgogICAgICBzdGF0dXM6IFsgc3VjY2VzcywgZmFpbHVyZSBdCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcuNAoKICBnaXRodWI6CiAgICBpbWFnZTogcGx1Z2lucy9naXRodWItcmVsZWFzZQogICAgZmlsZXM6CiAgICAgIC0gZGlzdC9yZWxlYXNlLyoKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcuNAoKICAjIHJlYnVpbGQgdGhlIGNhY2hlIG9uIHRoZSBzZnRwIHNlcnZlcgogIHJlYnVpbGRfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVidWlsZDogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNy40CgpzZXJ2aWNlczoKICByZWRpczoKICAgIGltYWdlOiByZWRpczphbHBpbmUKCm1hdHJpeDoKICBHT19WRVJTSU9OOgogICAgLSAxLjcuNAogICAgLSAxLjYuNAo.co6NQ83BJtDuBTkKasO6UnMpU25fC5f76HewoQebiws

1
.gitignore vendored
View File

@ -38,3 +38,4 @@ Dockerfile.tmp
*.pid *.pid
*.db* *.db*
coverage.txt coverage.txt
dist

View File

@ -9,7 +9,7 @@ BUILD_IMAGE := "gorush-build"
DEPLOY_ACCOUNT := appleboy DEPLOY_ACCOUNT := appleboy
DEPLOY_IMAGE := $(EXECUTABLE) DEPLOY_IMAGE := $(EXECUTABLE)
TARGETS ?= linux/*,darwin/* TARGETS ?= linux darwin
PACKAGES ?= $(shell go list ./... | grep -v /vendor/) PACKAGES ?= $(shell go list ./... | grep -v /vendor/)
SOURCES ?= $(shell find . -name "*.go" -type f) SOURCES ?= $(shell find . -name "*.go" -type f)
TAGS ?= TAGS ?=
@ -76,9 +76,6 @@ build: $(EXECUTABLE)
$(EXECUTABLE): $(SOURCES) $(EXECUTABLE): $(SOURCES)
go build -v -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o bin/$@ go build -v -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o bin/$@
corss_build: clean
sh script/build.sh $(VERSION)
test: test:
for PKG in $(PACKAGES); do go test -v -cover -coverprofile $$GOPATH/src/$$PKG/coverage.txt $$PKG || exit 1; done; for PKG in $(PACKAGES); do go test -v -cover -coverprofile $$GOPATH/src/$$PKG/coverage.txt $$PKG || exit 1; done;
@ -103,6 +100,24 @@ config_test: init
html: html:
go tool cover -html=.cover/coverage.txt go tool cover -html=.cover/coverage.txt
release: release-dirs release-build release-copy release-check
release-dirs:
mkdir -p $(DIST)/binaries $(DIST)/release
release-build:
@which gox > /dev/null; if [ $$? -ne 0 ]; then \
go get -u github.com/mitchellh/gox; \
fi
gox -os="$(TARGETS)" -arch="amd64 386" -tags="$(TAGS)" -ldflags="-s -w $(LDFLAGS)" -output="$(DIST)/binaries/$(EXECUTABLE)-$(VERSION)-{{.OS}}-{{.Arch}}"
release-copy:
$(foreach file,$(wildcard $(DIST)/binaries/$(EXECUTABLE)-*),cp $(file) $(DIST)/release/$(notdir $(file));)
release-check:
cd $(DIST)/release; $(foreach file,$(wildcard $(DIST)/release/$(EXECUTABLE)-*),sha256sum $(notdir $(file)) > $(notdir $(file)).sha256;)
docker_binary_build: docker_binary_build:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o bin/$@ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o bin/$@