168 lines
3.8 KiB
YAML
168 lines
3.8 KiB
YAML
workspace:
|
|
base: /srv/app
|
|
path: src/code.vikunja.io/api
|
|
|
|
clone:
|
|
git:
|
|
image: plugins/git
|
|
depth: 50
|
|
tags: true
|
|
|
|
pipeline:
|
|
build:
|
|
image: vikunja/golang-build:latest
|
|
pull: true
|
|
group: build
|
|
environment:
|
|
TAGS: bindata sqlite
|
|
commands:
|
|
- make lint
|
|
- make fmt-check
|
|
# - make swagger-check # Inactive until go-swagger works with go modules
|
|
- make ineffassign-check
|
|
- make misspell-check
|
|
- make build
|
|
when:
|
|
event: [ push, tag, pull_request ]
|
|
|
|
test:
|
|
image: webhippie/golang:edge
|
|
pull: true
|
|
environment:
|
|
GOPATH: /srv/app
|
|
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]
|
|
|
|
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]
|
|
|
|
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]
|
|
|
|
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]
|
|
|
|
# static-build-frontend:
|
|
# image: webhippie/nodejs:current
|
|
# pull: true
|
|
# group: build-static
|
|
# commands:
|
|
# - make release-frontend
|
|
# when:
|
|
# event: [push, tag ]
|
|
|
|
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]
|
|
|
|
# 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"}}.
|
|
|