woodpecker/.drone.yml
2019-08-27 13:07:19 +02:00

157 lines
3.8 KiB
YAML

clone:
git:
image: plugins/git:next
workspace:
base: /go
path: src/github.com/laszlocph/woodpecker
pipeline:
test:
image: golang:1.12.4
commands:
- go get -u golang.org/x/tools/cmd/cover
- go get -u golang.org/x/net/context
- go get -u golang.org/x/net/context/ctxhttp
- go get -u github.com/golang/protobuf/proto
- go get -u github.com/golang/protobuf/protoc-gen-go
- go test -cover $(go list ./... | grep -v /vendor/)
test_postgres:
image: golang:1.12.4
environment:
- DATABASE_DRIVER=postgres
- DATABASE_CONFIG=host=postgres user=postgres dbname=postgres sslmode=disable
commands:
- go test github.com/laszlocph/woodpecker/store/datastore
test_mysql:
image: golang:1.12.4
environment:
- DATABASE_DRIVER=mysql
- DATABASE_CONFIG=root@tcp(mysql:3306)/test?parseTime=true
commands:
- go test github.com/laszlocph/woodpecker/store/datastore
build:
image: golang:1.12.4
commands: sh .drone.sh
when:
event: [ push, tag ]
publish_server_alpine:
image: plugins/docker
repo: laszlocloud/woodpecker-server
dockerfile: Dockerfile.alpine
secrets: [ docker_username, docker_password ]
tag: [ alpine ]
when:
branch: master
event: push
publish_server:
image: plugins/docker
repo: laszlocloud/woodpecker-server
secrets: [ docker_username, docker_password ]
tag: [ latest ]
when:
branch: master
event: push
publish_agent:
image: plugins/docker
repo: laszlocloud/woodpecker-agent
dockerfile: Dockerfile.agent
secrets: [ docker_username, docker_password ]
tag: [ latest ]
when:
branch: master
event: push
publish_agent_alpine:
image: plugins/docker
repo: laszlocloud/woodpecker-agent
dockerfile: Dockerfile.agent.alpine
secrets: [ docker_username, docker_password ]
tag: [ alpine ]
when:
branch: master
event: push
publish_agent_arm:
image: plugins/docker
repo: laszlocloud/woodpecker-agent
dockerfile: Dockerfile.agent.linux.arm
secrets: [ docker_username, docker_password ]
tag: [ linux-arm ]
when:
branch: master
event: push
publish_agent_arm64:
image: plugins/docker
repo: laszlocloud/woodpecker-agent
dockerfile: Dockerfile.agent.linux.arm64
secrets: [ docker_username, docker_password ]
tag: [ linux-arm64 ]
when:
branch: master
event: push
publish_agent_amd64:
image: plugins/docker
repo: laszlocloud/woodpecker-agent
dockerfile: Dockerfile.agent
secrets: [ docker_username, docker_password ]
tag: [ latest ]
when:
branch: master
event: push
release_server_alpine:
image: plugins/docker
repo: laszlocloud/woodpecker-server
dockerfile: Dockerfile.alpine
secrets: [ docker_username, docker_password ]
tag: "${DRONE_TAG}-alpine"
when:
event: tag
release_agent_alpine:
image: plugins/docker
repo: laszlocloud/woodpecker-agent
dockerfile: Dockerfile.agent.alpine
secrets: [ docker_username, docker_password ]
tag: "${DRONE_TAG}-alpine"
when:
event: tag
release_server:
image: plugins/docker
repo: laszlocloud/woodpecker-server
secrets: [ docker_username, docker_password ]
tag: ${DRONE_TAG}
when:
event: tag
release_agent:
image: plugins/docker
repo: laszlocloud/woodpecker-agent
dockerfile: Dockerfile.agent
secrets: [ docker_username, docker_password ]
tag: ${DRONE_TAG}
when:
event: tag
services:
postgres:
image: postgres:9.6
ports: ["5432"]
environment:
- POSTGRES_USER=postgres
mysql:
image: mysql:5.6.27
ports: ["3306"]
environment:
- MYSQL_DATABASE=test
- MYSQL_ALLOW_EMPTY_PASSWORD=yes