workspace: base: /go path: src/github.com/laszlocph/drone-oss-08 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/drone-oss-08/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/drone-oss-08/store/datastore build: image: golang:1.12.4 commands: sh .drone.sh when: event: [ push, tag ] publish_server_alpine: image: plugins/docker repo: laszlocloud/drone-oss-08-server dockerfile: Dockerfile.alpine secrets: [ docker_username, docker_password ] tag: [ alpine ] when: branch: master event: push publish_server: image: plugins/docker repo: laszlocloud/drone-oss-08-server secrets: [ docker_username, docker_password ] tag: [ latest ] when: branch: master event: push publish_agent: image: plugins/docker repo: laszlocloud/drone-oss-08-agent dockerfile: Dockerfile.agent secrets: [ docker_username, docker_password ] tag: [ latest ] when: branch: master event: push publish_agent_alpine: image: plugins/docker repo: laszlocloud/drone-oss-08-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/drone-oss-08-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/drone-oss-08-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/drone-oss-08-agent dockerfile: Dockerfile.agent secrets: [ docker_username, docker_password ] tag: [ latest ] when: branch: master event: push release_server_alpine: image: plugins/docker repo: laszlocloud/drone-oss-08-server dockerfile: Dockerfile.alpine secrets: [ docker_username, docker_password ] tag: [ 0.8.95-alpine ] when: event: tag release_agent_alpine: image: plugins/docker repo: laszlocloud/drone-oss-08-agent dockerfile: Dockerfile.agent.alpine secrets: [ docker_username, docker_password ] tag: [ 0.8.95-alpine ] when: event: tag release_server: image: plugins/docker repo: laszlocloud/drone-oss-08-server secrets: [ docker_username, docker_password ] tag: [ 0.8.95 ] when: event: tag release_agent: image: plugins/docker repo: laszlocloud/drone-oss-08-agent dockerfile: Dockerfile.agent secrets: [ docker_username, docker_password ] tag: [ 0.8.95 ] 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