workspace: base: /srv/app path: src/code.vikunja.io/api clone: git: image: plugins/git depth: 50 tags: true services: database: image: mariadb:10 environment: - MYSQL_ROOT_PASSWORD=vikunjatest - MYSQL_DATABASE=vikunjatest pipeline: build: image: vikunja/golang-build:latest pull: true group: build environment: TAGS: bindata sqlite commands: - make lint - make fmt-check # - make got-swag # Commented out until we figured out how to get this working on drone - make ineffassign-check - make misspell-check - make build when: event: [ push, tag, pull_request ] test: image: vikunja/golang-build:latest group: test pull: true commands: - make test when: event: [ push, tag, pull_request ] test-sqlite: image: vikunja/golang-build:latest group: test pull: true environment: - VIKUNJA_TESTS_USE_CONFIG=1 - VIKUNJA_DATABASE_TYPE=sqlite commands: - make test when: event: [ push, tag, pull_request ] test-mysql: image: vikunja/golang-build:latest group: test pull: true environment: - VIKUNJA_TESTS_USE_CONFIG=1 - VIKUNJA_DATABASE_TYPE=mysql - VIKUNJA_DATABASE_HOST=database - VIKUNJA_DATABASE_USER=root - VIKUNJA_DATABASE_PASSWORD=vikunjatest - VIKUNJA_DATABASE_DATABASE=vikunjatest commands: - make test when: event: [ push, tag, pull_request ] # Build a release when tagging before-static-build: image: karalabe/xgo-latest:latest pull: true environment: TAGS: bindata sqlite GOPATH: /srv/app commands: - make release-dirs when: event: [tag, push] branch: [ master ] static-build-windows: image: karalabe/xgo-latest:latest pull: true group: build-static environment: TAGS: bindata sqlite GOPATH: /srv/app commands: - make release-windows when: event: [tag, push] branch: [ master ] static-build-linux: image: karalabe/xgo-latest:latest pull: true group: build-static environment: TAGS: bindata sqlite GOPATH: /srv/app commands: - make release-linux when: event: [tag, push] branch: [ master ] static-build-darwin: image: karalabe/xgo-latest:latest pull: true group: build-static environment: TAGS: bindata sqlite GOPATH: /srv/app commands: - make release-darwin when: event: [tag, push] branch: [ master ] after-build-static: image: karalabe/xgo-latest:latest pull: true environment: TAGS: bindata sqlite GOPATH: /srv/app commands: - make release-copy - make release-check - make release-os-package - make release-zip when: event: [tag, push] branch: [ master ] # Push the releases to our pseudo-s3-bucket release: image: plugins/s3:1 pull: true secrets: [ aws_access_key_id, aws_secret_access_key ] bucket: vikunja endpoint: https://storage.kolaente.de path_style: true strip_prefix: dist/zip/ source: dist/zip/* target: /${DRONE_TAG##v} when: event: [ tag ] release: image: plugins/s3:1 pull: true secrets: [ aws_access_key_id, aws_secret_access_key ] bucket: vikunja endpoint: https://storage.kolaente.de path_style: true strip_prefix: dist/zip/ source: dist/zip/* target: /master when: event: [ push ] branch: [ master ] # Build the docker image and push it to docker hub docker: image: plugins/docker pull: true secrets: [ docker_username, docker_password ] repo: vikunja/api auto_tag: true when: event: [ push, tag ] branch: [ master ] # Update the instance on try.vikunja.io rancher: image: peloton/drone-rancher url: http://server01.kolaente.de:8080/v1 secrets: [ RANCHER_ACCESS_KEY, RANCHER_SECRET_KEY ] service: vikunja-dev/api docker_image: vikunja/api confirm: true when: event: [ push, tag ] branch: [ master ] # Tell people vikunja was updated telegram: image: appleboy/drone-telegram secrets: [ TELEGRAM_TOKEN, TELEGRAM_TO ] message: > {{repo.owner}}/{{repo.name}}: \[{{build.status}}] Build {{build.number}} {{commit.author}} pushed to {{commit.branch}} {{commit.sha}}: `{{commit.message}}` Build started at {{datetime build.started "2006-Jan-02T15:04:05Z" "GMT+2"}} finished at {{datetime build.finished "2006-Jan-02T15:04:05Z" "GMT+2"}}. when: event: [ push, tag ] branch: [ master ]