gorush/.drone.yml

192 lines
3.6 KiB
YAML

workspace:
base: /go/src
path: github.com/appleboy/gorush
clone:
git:
image: plugins/git
depth: 50
tags: true
pipeline:
deps:
image: golang:1.11
pull: true
group: golang
commands:
- make deps
- make embedmd
lint:
image: golang:1.11
pull: true
group: golang
commands:
- make vet
- make lint
vendor:
image: golang:1.11
pull: true
group: golang
commands:
- make test-vendor
- make misspell-check
- make fmt-check
go_module_build_linux_amd64:
image: golang:1.11
pull: true
group: golang
environment:
- GO111MODULE=on
commands:
- make module
- make build_linux_amd64
build_linux_amd64:
image: golang:1.11
pull: true
group: golang
commands:
- make build_linux_amd64
build_linux_i386:
image: golang:1.11
pull: true
group: golang
commands:
- make build_linux_i386
build_linux_arm64:
image: golang:1.11
pull: true
group: golang
commands:
- make build_linux_arm64
build_linux_arm:
image: golang:1.11
pull: true
group: golang
commands:
- make build_linux_arm
# coverage:
# image: golang:1.11
# pull: true
# group: golang
# secrets: [ android_test_token, android_api_key ]
# commands:
# - make unit-test-coverage
# when:
# event: [ push, pull_request ]
# generate-coverage:
# image: golang:1.11
# pull: true
# commands:
# - make coverage
# when:
# event: [ push, pull_request ]
# codecov:
# image: robertstettner/drone-codecov
# secrets: [ codecov_token ]
# files:
# - coverage.all
# when:
# event: [ push, pull_request ]
release:
image: golang:1.11
pull: true
commands:
- make release
when:
event: [ tag ]
publish_linux_amd64:
image: plugins/docker
group: release
pull: true
secrets: [ docker_username, docker_password ]
default_tags: true
repo: ${DRONE_REPO}
when:
event: [ push, tag ]
local: false
publish_linux_alpine:
image: plugins/docker
group: release
pull: true
dockerfile: Dockerfile.alpine
secrets: [ docker_username, docker_password ]
default_tags: true
default_suffix: alpine
repo: ${DRONE_REPO}
when:
event: [ push, tag ]
local: false
publish_linux_i386:
image: plugins/docker
group: release
pull: true
dockerfile: Dockerfile.i386
secrets: [ docker_username, docker_password ]
default_tags: true
default_suffix: i386
repo: ${DRONE_REPO}
when:
event: [ push, tag ]
local: false
publish_linux_arm:
image: plugins/docker
group: release
pull: true
dockerfile: Dockerfile.arm
secrets: [ docker_username, docker_password ]
default_tags: true
default_suffix: arm
repo: ${DRONE_REPO}
when:
event: [ push, tag ]
local: false
publish_linux_arm64:
image: plugins/docker
group: release
pull: true
dockerfile: Dockerfile.arm64
secrets: [ docker_username, docker_password ]
default_tags: true
default_suffix: arm64
repo: ${DRONE_REPO}
when:
event: [ push, tag ]
local: false
release_tag:
image: plugins/github-release
secrets: [ github_release_api_key ]
group: release
files:
- dist/release/*
when:
event: [ tag ]
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