woodpecker/.woodpecker/main.yml
6543 194e01c9c6
[CI] Run "build" on pull too (#287)
* CI: run "build" on pull too

* vendor build tools too
2021-08-30 20:48:19 +02:00

155 lines
3.6 KiB
YAML

clone:
git:
image: plugins/git:next
pipeline:
test:
image: golang:1.16
group: test
commands:
- make test
- make vet
- make formatcheck
test-frontend:
image: node:10.17.0-stretch
group: test
commands:
- (cd web/; yarn install)
- (cd web/; yarn run lesshint)
- (cd web/; yarn run lint --quiet)
- make test-frontend
test-postgres:
image: golang:1.16
group: db-test
environment:
- DATABASE_DRIVER=postgres
- DATABASE_CONFIG=host=postgres user=postgres dbname=postgres sslmode=disable
commands:
- go test -timeout 30s github.com/woodpecker-ci/woodpecker/store/datastore
test-mysql:
image: golang:1.16
group: db-test
environment:
- DATABASE_DRIVER=mysql
- DATABASE_CONFIG=root@tcp(mysql:3306)/test?parseTime=true
commands:
- go test -timeout 30s github.com/woodpecker-ci/woodpecker/store/datastore
build-frontend:
image: node:10.17.0-stretch
commands:
- make build-frontend
build:
image: golang:1.16
commands:
- go get github.com/woodpecker-ci/togo
- (cd web/; go generate ./...)
- make release
# publish-server-alpine:
# image: plugins/docker
# repo: woodpeckerci/woodpecker-server
# dockerfile: Dockerfile.alpine
# secrets: [ docker_username, docker_password ]
# tag: [ alpine ]
# when:
# branch: master
# event: push
build-cli:
image: golang:1.16
commands: make release-cli
publish-server:
image: plugins/docker
repo: woodpeckerci/woodpecker-server
secrets: [docker_username, docker_password]
tag: [latest]
when:
branch: master
event: push
publish-agent:
image: plugins/docker
repo: woodpeckerci/woodpecker-agent
dockerfile: Dockerfile.agent
secrets: [docker_username, docker_password]
tag: [latest]
when:
branch: master
event: push
# publish-agent-alpine:
# image: plugins/docker
# repo: woodpeckerci/woodpecker-agent
# dockerfile: Dockerfile.agent.alpine
# secrets: [ docker_username, docker_password ]
# tag: [ alpine ]
# when:
# branch: master
# event: push
# release-server-alpine:
# image: plugins/docker
# repo: woodpeckerci/woodpecker-server
# dockerfile: Dockerfile.alpine
# secrets: [ docker_username, docker_password ]
# tag: "${DRONE_TAG}-alpine"
# when:
# event: tag
#
# release-agent-alpine:
# image: plugins/docker
# repo: woodpeckerci/woodpecker-agent
# dockerfile: Dockerfile.agent.alpine
# secrets: [ docker_username, docker_password ]
# tag: "${DRONE_TAG}-alpine"
# when:
# event: tag
release-server:
image: plugins/docker
repo: woodpeckerci/woodpecker-server
secrets: [docker_username, docker_password]
tag: ${DRONE_TAG}
when:
event: tag
release-agent:
image: plugins/docker
repo: woodpeckerci/woodpecker-agent
dockerfile: Dockerfile.agent
secrets: [docker_username, docker_password]
tag: ${DRONE_TAG}
when:
event: tag
release-cli:
image: plugins/github-release
files:
- cli/release/woodpecker_*.tar.gz
- cli/release/woodpecker_checksums.txt
secrets:
- source: github_token
target: github_release_api_key
when:
event: tag
services:
postgres:
image: postgres:9.6
ports: ["5432"]
environment:
- POSTGRES_USER=postgres
- POSTGRES_HOST_AUTH_METHOD=trust
mysql:
image: mysql:5.6.27
ports: ["3306"]
environment:
- MYSQL_DATABASE=test
- MYSQL_ALLOW_EMPTY_PASSWORD=yes