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.1 ] when: event: tag release_agent: image: plugins/docker repo: drone/agent dockerfile: Dockerfile.agent secrets: [ docker_username, docker_password ] tag: [ 0.8, 0.8.1 ] 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