mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-24 09:20:31 +00:00
194e01c9c6
* CI: run "build" on pull too * vendor build tools too
154 lines
3.6 KiB
YAML
154 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
|