gorush/.drone.yml

168 lines
3.4 KiB
YAML

workspace:
base: /go/src
path: github.com/appleboy/gorush
clone:
git:
image: plugins/git
depth: 50
tags: true
pipeline:
deps:
image: appleboy/golang-testing:1.9.1
group: golang
commands:
- make deps
- make embedmd
lint:
image: appleboy/golang-testing:1.9.1
group: golang
commands:
- make vet
- make lint
vendor:
image: appleboy/golang-testing:1.9.1
group: golang
commands:
- make test-vendor
- make misspell-check
- make fmt-check
build_linux_amd64:
image: appleboy/golang-testing:1.9.1
group: golang
commands:
- make docker_build
build_linux_arm64:
image: appleboy/golang-testing:1.9.1
group: golang
commands:
- make docker_build_arm64
build_linux_arm:
image: appleboy/golang-testing:1.9.1
group: golang
commands:
- make docker_build_arm
coverage:
image: appleboy/golang-testing:1.9.1
group: golang
secrets: [ android_test_token, android_api_key ]
commands:
- coverage all
codecov:
image: robertstettner/drone-codecov
secrets: [ codecov_token ]
files:
- .cover/coverage.txt
when:
event: [ push, pull_request ]
release:
image: appleboy/golang-testing:1.9.1
pull: true
commands:
- make release
when:
event: [ tag ]
ref: [ refs/tags/* ]
publish_linux_amd64:
image: plugins/docker
group: publish
repo: ${DRONE_REPO}
tags: [ 'latest' ]
secrets: [ docker_username, docker_password ]
when:
event: [ push ]
branch: [ master ]
local: false
publish_linux_arm:
image: plugins/docker
group: publish
repo: ${DRONE_REPO}
tags: [ linux-arm ]
dockerfile: Dockerfile.arm
secrets: [ docker_username, docker_password ]
when:
event: [ push ]
branch: [ master ]
local: false
publish_linux_arm64:
image: plugins/docker
group: publish
repo: ${DRONE_REPO}
tags: [ linux-arm64 ]
dockerfile: Dockerfile.arm64
secrets: [ docker_username, docker_password ]
when:
event: [ push ]
branch: [ master ]
local: false
publish_linux_amd64:
image: plugins/docker
group: tag
repo: ${DRONE_REPO}
tags: [ '${DRONE_TAG}' ]
secrets: [ docker_username, docker_password ]
group: release
when:
event: [ tag ]
ref: [ refs/tags/* ]
local: false
publish_linux_arm:
image: plugins/docker
group: tag
repo: ${DRONE_REPO}
tags: [ linux-arm, 'linux-arm-${DRONE_TAG}' ]
dockerfile: Dockerfile.arm
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
ref: [ refs/tags/* ]
local: false
publish_linux_arm64:
image: plugins/docker
group: tag
repo: ${DRONE_REPO}
tags: [ linux-arm64, 'linux-arm64-${DRONE_TAG}' ]
dockerfile: Dockerfile.arm64
secrets: [ docker_username, docker_password ]
when:
event: [ tag ]
ref: [ refs/tags/* ]
local: false
release_tag:
image: plugins/github-release
secrets: [ github_release_api_key ]
group: release
files:
- dist/release/*
when:
event: [ tag ]
ref: [ refs/tags/* ]
local: false
discord:
image: appleboy/drone-discord
pull: true
secrets: [ discord_webhook_id, discord_webhook_token ]
when:
status: [ success, failure ]
services:
redis:
image: redis:alpine