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 build
|
||||
- coverage all
|
||||
# send coverage report
|
||||
- curl -s https://codecov.io/bash > .codecov &&
|
||||
chmod +x .codecov &&
|
||||
./.codecov -t ${CODECOV_TOKEN} -f .cover/coverage.txt
|
||||
# build binary for docker image
|
||||
- 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:
|
||||
image: plugins/docker
|
||||
repo: appleboy/gorush
|
||||
|
@ -50,6 +64,16 @@ pipeline:
|
|||
matrix:
|
||||
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_cache:
|
||||
image: appleboy/drone-sftp-cache
|
||||
|
|
|
@ -1 +1 @@
|
|||
eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIHBhdGg6IC9nby9zcmMvZ2l0aHViLmNvbS9hcHBsZWJveS9nb3J1c2gKCnBpcGVsaW5lOgogICMgcmVzdG9yZSB0aGUgY2FjaGUgZnJvbSBhbiBzZnRwIHNlcnZlcgogIHJlc3RvcmVfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVzdG9yZTogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQoKICBidWlsZDoKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZzoke0dPX1ZFUlNJT059CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBHT1BBVEg9L2dvCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIGRlcF9pbnN0YWxsCiAgICAgIC0gbWFrZSB2ZXQKICAgICAgLSBtYWtlIGxpbnQKICAgICAgLSBtYWtlIGJ1aWxkCiAgICAgIC0gY292ZXJhZ2UgYWxsCiAgICAgIC0gY3VybCAtcyBodHRwczovL2NvZGVjb3YuaW8vYmFzaCA-IC5jb2RlY292ICYmCiAgICAgICAgY2htb2QgK3ggLmNvZGVjb3YgJiYKICAgICAgICAuLy5jb2RlY292IC10ICR7Q09ERUNPVl9UT0tFTn0gLWYgLmNvdmVyL2NvdmVyYWdlLnR4dAogICAgICAjIGJ1aWxkIGJpbmFyeSBmb3IgZG9ja2VyIGltYWdlCiAgICAgIC0gbWFrZSBkb2NrZXJfYmluYXJ5X2J1aWxkCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICcke0RST05FX1RBR30nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICdsYXRlc3QnIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgbWFzdGVyIF0KCiAgZmFjZWJvb2s6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtZmFjZWJvb2sKICAgIHB1bGw6IHRydWUKICAgIHRvOiAxMjM0OTczMzg2NTI0NjEwCiAgICB3aGVuOgogICAgICBzdGF0dXM6IFsgc3VjY2VzcywgZmFpbHVyZSBdCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcuNAoKICAjIHJlYnVpbGQgdGhlIGNhY2hlIG9uIHRoZSBzZnRwIHNlcnZlcgogIHJlYnVpbGRfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVidWlsZDogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNy40CgpzZXJ2aWNlczoKICByZWRpczoKICAgIGltYWdlOiByZWRpczphbHBpbmUKCm1hdHJpeDoKICBHT19WRVJTSU9OOgogICAgLSAxLjcuNAogICAgLSAxLjYuNAo.JfCV20soCVQlo7bI_dAvEeoQPKtmUDep_E7vab1wFrM
|
||||
eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIHBhdGg6IC9nby9zcmMvZ2l0aHViLmNvbS9hcHBsZWJveS9nb3J1c2gKCnBpcGVsaW5lOgogICMgcmVzdG9yZSB0aGUgY2FjaGUgZnJvbSBhbiBzZnRwIHNlcnZlcgogIHJlc3RvcmVfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVzdG9yZTogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQoKICBidWlsZDoKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZzoke0dPX1ZFUlNJT059CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBHT1BBVEg9L2dvCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIGRlcF9pbnN0YWxsCiAgICAgIC0gbWFrZSB2ZXQKICAgICAgLSBtYWtlIGxpbnQKICAgICAgLSBtYWtlIGJ1aWxkCiAgICAgIC0gY292ZXJhZ2UgYWxsCiAgICAgICMgc2VuZCBjb3ZlcmFnZSByZXBvcnQKICAgICAgLSBjdXJsIC1zIGh0dHBzOi8vY29kZWNvdi5pby9iYXNoID4gLmNvZGVjb3YgJiYKICAgICAgICBjaG1vZCAreCAuY29kZWNvdiAmJgogICAgICAgIC4vLmNvZGVjb3YgLXQgJHtDT0RFQ09WX1RPS0VOfSAtZiAuY292ZXIvY292ZXJhZ2UudHh0CiAgICAgICMgYnVpbGQgYmluYXJ5IGZvciBkb2NrZXIgaW1hZ2UKICAgICAgLSBtYWtlIGRvY2tlcl9iaW5hcnlfYnVpbGQKCiAgcmVsZWFzZToKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZzoke0dPX1ZFUlNJT059CiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogbmV0Z28KICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgcmVsZWFzZQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgdGFnIF0KICAgICAgYnJhbmNoOiBbIHJlZnMvdGFncy8qIF0KICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNy40CgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICcke0RST05FX1RBR30nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogYXBwbGVib3kvZ29ydXNoCiAgICB0YWdzOiBbICdsYXRlc3QnIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgbWFzdGVyIF0KCiAgZmFjZWJvb2s6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtZmFjZWJvb2sKICAgIHB1bGw6IHRydWUKICAgIHRvOiAxMjM0OTczMzg2NTI0NjEwCiAgICB3aGVuOgogICAgICBzdGF0dXM6IFsgc3VjY2VzcywgZmFpbHVyZSBdCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcuNAoKICBnaXRodWI6CiAgICBpbWFnZTogcGx1Z2lucy9naXRodWItcmVsZWFzZQogICAgZmlsZXM6CiAgICAgIC0gZGlzdC9yZWxlYXNlLyoKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcuNAoKICAjIHJlYnVpbGQgdGhlIGNhY2hlIG9uIHRoZSBzZnRwIHNlcnZlcgogIHJlYnVpbGRfY2FjaGU6CiAgICBpbWFnZTogYXBwbGVib3kvZHJvbmUtc2Z0cC1jYWNoZQogICAgcmVidWlsZDogdHJ1ZQogICAgbW91bnQ6IFsgLmdsaWRlLCB2ZW5kb3IgXQogICAgaWdub3JlX2JyYW5jaDogdHJ1ZQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNy40CgpzZXJ2aWNlczoKICByZWRpczoKICAgIGltYWdlOiByZWRpczphbHBpbmUKCm1hdHJpeDoKICBHT19WRVJTSU9OOgogICAgLSAxLjcuNAogICAgLSAxLjYuNAo.co6NQ83BJtDuBTkKasO6UnMpU25fC5f76HewoQebiws
|
|
@ -38,3 +38,4 @@ Dockerfile.tmp
|
|||
*.pid
|
||||
*.db*
|
||||
coverage.txt
|
||||
dist
|
||||
|
|
23
Makefile
23
Makefile
|
@ -9,7 +9,7 @@ BUILD_IMAGE := "gorush-build"
|
|||
DEPLOY_ACCOUNT := appleboy
|
||||
DEPLOY_IMAGE := $(EXECUTABLE)
|
||||
|
||||
TARGETS ?= linux/*,darwin/*
|
||||
TARGETS ?= linux darwin
|
||||
PACKAGES ?= $(shell go list ./... | grep -v /vendor/)
|
||||
SOURCES ?= $(shell find . -name "*.go" -type f)
|
||||
TAGS ?=
|
||||
|
@ -76,9 +76,6 @@ build: $(EXECUTABLE)
|
|||
$(EXECUTABLE): $(SOURCES)
|
||||
go build -v -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o bin/$@
|
||||
|
||||
corss_build: clean
|
||||
sh script/build.sh $(VERSION)
|
||||
|
||||
test:
|
||||
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:
|
||||
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:
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o bin/$@
|
||||
|
||||
|
|
Loading…
Reference in New Issue