# https://taskfile.org version: '2' tasks: install: dir: cmd/drone-server cmds: [ go install -v ] env: GO111MODULE: on build: cmds: - task: build-base vars: { name: server } build-base: env: GOOS: linux GOARCH: amd64 CGO_ENABLED: '0' GO111MODULE: 'on' cmds: - cmd: > go build -o release/linux/amd64/drone-{{.name}} github.com/drone/drone/cmd/drone-{{.name}} cleanup: cmds: - rm -rf release docker: cmds: - task: docker-base vars: { name: server, image: drone/drone } docker-base: vars: GIT_BRANCH: sh: git rev-parse --abbrev-ref HEAD cmds: - cmd: docker rmi {{.image}} ignore_error: true - cmd: docker rmi {{.image}}:{{.GIT_BRANCH}} ignore_error: true - cmd: > docker build --rm -f docker/Dockerfile.{{.name}}.linux.amd64 -t {{.image}} . - cmd: > docker tag {{.image}} {{.image}}:{{.GIT_BRANCH}} test: cmds: - go test ./... env: GO111MODULE: 'on' test-mysql: env: DRONE_DATABASE_DRIVER: mysql DRONE_DATABASE_DATASOURCE: root@tcp(localhost:3306)/test?parseTime=true GO111MODULE: 'on' cmds: - cmd: docker kill mysql silent: true ignore_error: true - cmd: > docker run -p 3306:3306 --env MYSQL_DATABASE=test --env MYSQL_ALLOW_EMPTY_PASSWORD=yes --name mysql --detach --rm mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci - cmd: go test -count=1 github.com/drone/drone/store/batch - cmd: go test -count=1 github.com/drone/drone/store/batch2 - cmd: go test -count=1 github.com/drone/drone/store/build - cmd: go test -count=1 github.com/drone/drone/store/cron - cmd: go test -count=1 github.com/drone/drone/store/logs - cmd: go test -count=1 github.com/drone/drone/store/perm - cmd: go test -count=1 github.com/drone/drone/store/repos - cmd: go test -count=1 github.com/drone/drone/store/secret - cmd: go test -count=1 github.com/drone/drone/store/secret/global - cmd: go test -count=1 github.com/drone/drone/store/stage - cmd: go test -count=1 github.com/drone/drone/store/step - cmd: go test -count=1 github.com/drone/drone/store/template - cmd: go test -count=1 github.com/drone/drone/store/user - cmd: docker kill mysql test-postgres: env: DRONE_DATABASE_DRIVER: postgres DRONE_DATABASE_DATASOURCE: host=localhost user=postgres password=postgres dbname=postgres sslmode=disable GO111MODULE: 'on' cmds: - cmd: docker kill postgres ignore_error: true silent: false - silent: false cmd: > docker run -p 5432:5432 --env POSTGRES_PASSWORD=postgres --env POSTGRES_USER=postgres --name postgres --detach --rm postgres:9-alpine - cmd: go test -count=1 github.com/drone/drone/store/batch - cmd: go test -count=1 github.com/drone/drone/store/batch2 - cmd: go test -count=1 github.com/drone/drone/store/build - cmd: go test -count=1 github.com/drone/drone/store/cron - cmd: go test -count=1 github.com/drone/drone/store/logs - cmd: go test -count=1 github.com/drone/drone/store/perm - cmd: go test -count=1 github.com/drone/drone/store/repos - cmd: go test -count=1 github.com/drone/drone/store/secret - cmd: go test -count=1 github.com/drone/drone/store/secret/global - cmd: go test -count=1 github.com/drone/drone/store/stage - cmd: go test -count=1 github.com/drone/drone/store/step - cmd: go test -count=1 github.com/drone/drone/store/template - cmd: go test -count=1 github.com/drone/drone/store/user - cmd: docker kill postgres silent: true