Support github release.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
parent
1f2da28f4b
commit
bd51a03cc1
24
.drone.yml
24
.drone.yml
|
@ -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
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIHBhdGg6IC9nby9zcmMvZ2l0aHViLmNvbS9hcHBsZWJveS9nb3J1c2gKCnBpcGVsaW5lOgogICMgcmVzdG9yZSB0aGUgY2FjaGUgZnJvbSBhbiBzZnRwIHNlcnZlcgogIHJlc3RvcmVfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVzdG9yZTogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQoKICBidWlsZDoKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZzoke0dPX1ZFUlNJT059CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBHT1BBVEg9L2dvCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIGRlcF9pbnN0YWxsCiAgICAgIC0gbWFrZSB2ZXQKICAgICAgLSBtYWtlIGxpbnQKICAgICAgLSBtYWtlIGJ1aWxkCiAgICAgIC0gY292ZXJhZ2UgYWxsCiAgICAgIC0gY3VybCAtcyBodHRwczovL2NvZGVjb3YuaW8vYmFzaCA-IC5jb2RlY292ICYmCiAgICAgICAgY2htb2QgK3ggLmNvZGVjb3YgJiYKICAgICAgICAuLy5jb2RlY292IC10ICR7Q09ERUNPVl9UT0tFTn0gLWYgLmNvdmVyL2NvdmVyYWdlLnR4dAogICAgICAjIGJ1aWxkIGJpbmFyeSBmb3IgZG9ja2VyIGltYWdlCiAgICAgIC0gbWFrZSBkb2NrZXJfYmluYXJ5X2J1aWxkCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICcke0RST05FX1RBR30nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICdsYXRlc3QnIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgbWFzdGVyIF0KCiAgZmFjZWJvb2s6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtZmFjZWJvb2sKICAgIHB1bGw6IHRydWUKICAgIHRvOiAxMjM0OTczMzg2NTI0NjEwCiAgICB3aGVuOgogICAgICBzdGF0dXM6IFsgc3VjY2VzcywgZmFpbHVyZSBdCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcuNAoKICAjIHJlYnVpbGQgdGhlIGNhY2hlIG9uIHRoZSBzZnRwIHNlcnZlcgogIHJlYnVpbGRfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVidWlsZDogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNy40CgpzZXJ2aWNlczoKICByZWRpczoKICAgIGltYWdlOiByZWRpczphbHBpbmUKCm1hdHJpeDoKICBHT19WRVJTSU9OOgogICAgLSAxLjcuNAogICAgLSAxLjYuNAo.JfCV20soCVQlo7bI_dAvEeoQPKtmUDep_E7vab1wFrM
|
eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIHBhdGg6IC9nby9zcmMvZ2l0aHViLmNvbS9hcHBsZWJveS9nb3J1c2gKCnBpcGVsaW5lOgogICMgcmVzdG9yZSB0aGUgY2FjaGUgZnJvbSBhbiBzZnRwIHNlcnZlcgogIHJlc3RvcmVfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVzdG9yZTogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQoKICBidWlsZDoKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZzoke0dPX1ZFUlNJT059CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBHT1BBVEg9L2dvCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIGRlcF9pbnN0YWxsCiAgICAgIC0gbWFrZSB2ZXQKICAgICAgLSBtYWtlIGxpbnQKICAgICAgLSBtYWtlIGJ1aWxkCiAgICAgIC0gY292ZXJhZ2UgYWxsCiAgICAgICMgc2VuZCBjb3ZlcmFnZSByZXBvcnQKICAgICAgLSBjdXJsIC1zIGh0dHBzOi8vY29kZWNvdi5pby9iYXNoID4gLmNvZGVjb3YgJiYKICAgICAgICBjaG1vZCAreCAuY29kZWNvdiAmJgogICAgICAgIC4vLmNvZGVjb3YgLXQgJHtDT0RFQ09WX1RPS0VOfSAtZiAuY292ZXIvY292ZXJhZ2UudHh0CiAgICAgICMgYnVpbGQgYmluYXJ5IGZvciBkb2NrZXIgaW1hZ2UKICAgICAgLSBtYWtlIGRvY2tlcl9iaW5hcnlfYnVpbGQKCiAgcmVsZWFzZToKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZzoke0dPX1ZFUlNJT059CiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogbmV0Z28KICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgcmVsZWFzZQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgdGFnIF0KICAgICAgYnJhbmNoOiBbIHJlZnMvdGFncy8qIF0KICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNy40CgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICcke0RST05FX1RBR30nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICdsYXRlc3QnIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgbWFzdGVyIF0KCiAgZmFjZWJvb2s6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtZmFjZWJvb2sKICAgIHB1bGw6IHRydWUKICAgIHRvOiAxMjM0OTczMzg2NTI0NjEwCiAgICB3aGVuOgogICAgICBzdGF0dXM6IFsgc3VjY2VzcywgZmFpbHVyZSBdCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcuNAoKICBnaXRodWI6CiAgICBpbWFnZTogcGx1Z2lucy9naXRodWItcmVsZWFzZQogICAgZmlsZXM6CiAgICAgIC0gZGlzdC9yZWxlYXNlLyoKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcuNAoKICAjIHJlYnVpbGQgdGhlIGNhY2hlIG9uIHRoZSBzZnRwIHNlcnZlcgogIHJlYnVpbGRfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVidWlsZDogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNy40CgpzZXJ2aWNlczoKICByZWRpczoKICAgIGltYWdlOiByZWRpczphbHBpbmUKCm1hdHJpeDoKICBHT19WRVJTSU9OOgogICAgLSAxLjcuNAogICAgLSAxLjYuNAo.co6NQ83BJtDuBTkKasO6UnMpU25fC5f76HewoQebiws
|
|
@ -38,3 +38,4 @@ Dockerfile.tmp
|
||||||
*.pid
|
*.pid
|
||||||
*.db*
|
*.db*
|
||||||
coverage.txt
|
coverage.txt
|
||||||
|
dist
|
||||||
|
|
23
Makefile
23
Makefile
|
@ -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/$@
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue