woodpecker/.drone.yml
2019-11-12 14:27:39 +01:00

159 lines
3.7 KiB
YAML

clone:
git:
image: plugins/git:next
pipeline:
test:
image: golang:1.12.4
commands:
- go test -cover -timeout 30s $(go list ./...)
test_postgres:
image: golang:1.12.4
environment:
- DATABASE_DRIVER=postgres
- DATABASE_CONFIG=host=postgres user=postgres dbname=postgres sslmode=disable
commands:
- go test -timeout 30s 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 -timeout 30s github.com/laszlocph/woodpecker/store/datastore
test_frontend:
image: node:10.17.0-stretch
commands:
- make test-frontend
build_frontend:
image: node:10.17.0-stretch
commands:
- make build-frontend
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