143 lines
3.3 KiB
YAML
143 lines
3.3 KiB
YAML
workspace:
|
|
base: /go
|
|
path: src/github.com/drone/drone
|
|
|
|
pipeline:
|
|
test:
|
|
image: golang:1.8
|
|
commands:
|
|
- go get -u github.com/drone/drone-ui/dist
|
|
- 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.8
|
|
environment:
|
|
- DATABASE_DRIVER=postgres
|
|
- DATABASE_CONFIG=host=postgres user=postgres dbname=postgres sslmode=disable
|
|
commands:
|
|
- go test github.com/drone/drone/store/datastore
|
|
|
|
test_mysql:
|
|
image: golang:1.8
|
|
environment:
|
|
- DATABASE_DRIVER=mysql
|
|
- DATABASE_CONFIG=root@tcp(mysql:3306)/test?parseTime=true
|
|
commands:
|
|
- go test github.com/drone/drone/store/datastore
|
|
|
|
build:
|
|
image: golang:1.8
|
|
commands: sh .drone.sh
|
|
secrets: [ ssh_key ]
|
|
when:
|
|
event: [ push, tag ]
|
|
|
|
publish_server_alpine:
|
|
image: plugins/docker
|
|
repo: drone/drone
|
|
dockerfile: Dockerfile.alpine
|
|
secrets: [ docker_username, docker_password ]
|
|
tag: [ alpine ]
|
|
when:
|
|
branch: master
|
|
event: push
|
|
|
|
publish_server:
|
|
image: plugins/docker
|
|
repo: drone/drone
|
|
secrets: [ docker_username, docker_password ]
|
|
tag: [ latest ]
|
|
when:
|
|
branch: master
|
|
event: push
|
|
|
|
publish_agent_alpine:
|
|
image: plugins/docker
|
|
repo: drone/agent
|
|
dockerfile: Dockerfile.agent.alpine
|
|
secrets: [ docker_username, docker_password ]
|
|
tag: [ alpine ]
|
|
when:
|
|
branch: master
|
|
event: push
|
|
|
|
publish_agent_arm:
|
|
image: plugins/docker
|
|
repo: drone/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: drone/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: drone/agent
|
|
dockerfile: Dockerfile.agent
|
|
secrets: [ docker_username, docker_password ]
|
|
tag: [ latest ]
|
|
when:
|
|
branch: master
|
|
event: push
|
|
|
|
release_server_alpine:
|
|
image: plugins/docker
|
|
repo: drone/drone
|
|
dockerfile: Dockerfile.alpine
|
|
secrets: [ docker_username, docker_password ]
|
|
tag: [ 0.8-alpine ]
|
|
when:
|
|
event: tag
|
|
|
|
release_agent_alpine:
|
|
image: plugins/docker
|
|
repo: drone/agent
|
|
dockerfile: Dockerfile.agent.alpine
|
|
secrets: [ docker_username, docker_password ]
|
|
tag: [ 0.8-alpine ]
|
|
when:
|
|
event: tag
|
|
|
|
release_server:
|
|
image: plugins/docker
|
|
repo: drone/drone
|
|
secrets: [ docker_username, docker_password ]
|
|
tag: [ 0.8, 0.8.6 ]
|
|
when:
|
|
event: tag
|
|
|
|
release_agent:
|
|
image: plugins/docker
|
|
repo: drone/agent
|
|
dockerfile: Dockerfile.agent
|
|
secrets: [ docker_username, docker_password ]
|
|
tag: [ 0.8, 0.8.6 ]
|
|
when:
|
|
event: tag
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:9.6
|
|
environment:
|
|
- POSTGRES_USER=postgres
|
|
mysql:
|
|
image: mysql:5.6.27
|
|
environment:
|
|
- MYSQL_DATABASE=test
|
|
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
|