forgejo/.drone.yml

284 lines
5.8 KiB
YAML
Raw Normal View History

2016-11-06 20:32:54 +03:00
workspace:
base: /srv/app
path: src/code.gitea.io/gitea
2017-09-07 20:22:15 +03:00
clone:
git:
image: plugins/git:1
depth: 50
tags: true
2017-09-07 20:22:15 +03:00
pipeline:
download_translations:
image: jonasfranz/crowdin
pull: true
secrets: [ crowdin_key ]
project_identifier: gitea
ignore_branch: true
download: true
export_dir: options/locale/
when:
event: [ push ]
branch: [ master ]
git_push:
image: appleboy/drone-git-push
pull: true
secrets: [ git_push_ssh_key ]
force: false
commit: true
commit_message: "[skip ci] Updated translations via Crowdin"
when:
event: [ push ]
branch: [ master ]
pre-build:
image: webhippie/nodejs:latest
pull: true
commands:
- npm install
- make stylesheets-check
when:
event: [ push, tag, pull_request ]
build:
image: webhippie/golang:edge
2016-11-06 20:32:54 +03:00
pull: true
environment:
TAGS: bindata sqlite
GOPATH: /srv/app
2016-11-06 20:32:54 +03:00
commands:
- make clean
- make generate
2016-11-06 20:32:54 +03:00
- make vet
2016-11-29 16:15:36 +03:00
- make lint
2017-09-21 04:34:32 +03:00
- make fmt-check
2017-06-05 10:49:46 +03:00
- make misspell-check
- make test-vendor
2016-11-06 20:32:54 +03:00
- make build
when:
event: [ push, tag, pull_request ]
2016-11-06 20:32:54 +03:00
test:
image: webhippie/golang:edge
pull: true
2017-09-07 20:22:15 +03:00
group: test
environment:
TAGS: bindata sqlite
GOPATH: /srv/app
commands:
- make unit-test-coverage
when:
event: [ push, pull_request ]
branch: [ master ]
test:
image: webhippie/golang:edge
pull: true
group: test
environment:
TAGS: bindata
GOPATH: /srv/app
commands:
- make test
when:
event: [ tag ]
# Commented until db locking have been resolved!
# test-sqlite:
# image: webhippie/golang:edge
# pull: true
# group: test
# environment:
# TAGS: bindata
# GOPATH: /srv/app
# commands:
# - make test-sqlite
# when:
# event: [ push, tag, pull_request ]
test-mysql:
image: webhippie/golang:edge
pull: true
group: test
environment:
TAGS: bindata
GOPATH: /srv/app
commands:
- make integration-test-coverage
when:
event: [ push, pull_request ]
branch: [ master ]
2016-11-24 16:48:40 +03:00
test-mysql:
image: webhippie/golang:edge
2016-11-06 20:32:54 +03:00
pull: true
2017-09-07 20:22:15 +03:00
group: test
environment:
TAGS: bindata
GOPATH: /srv/app
2016-11-06 20:32:54 +03:00
commands:
- make test-mysql
2016-11-06 20:32:54 +03:00
when:
event: [ tag ]
2016-11-06 20:32:54 +03:00
2016-11-24 16:48:40 +03:00
test-pgsql:
image: webhippie/golang:edge
2016-11-06 20:32:54 +03:00
pull: true
2017-09-07 20:22:15 +03:00
group: test
environment:
TAGS: bindata
GOPATH: /srv/app
2016-11-06 20:32:54 +03:00
commands:
- make test-pgsql
2016-11-06 20:32:54 +03:00
when:
event: [ push, tag, pull_request ]
generate-coverage:
image: webhippie/golang:edge
pull: true
environment:
TAGS: bindata
GOPATH: /srv/app
commands:
- make coverage
when:
event: [ push, pull_request ]
branch: [ master ]
coverage:
image: robertstettner/drone-codecov
secrets: [ codecov_token ]
files:
- coverage.all
when:
event: [ push, pull_request ]
branch: [ master ]
2017-09-07 20:22:15 +03:00
static:
image: karalabe/xgo-latest:latest
pull: true
environment:
TAGS: bindata sqlite
GOPATH: /srv/app
2016-11-06 20:32:54 +03:00
commands:
- make release
2016-11-06 20:32:54 +03:00
when:
event: [ push, tag ]
2016-11-06 20:32:54 +03:00
docker:
2017-09-07 20:22:15 +03:00
image: plugins/docker:17.05
pull: true
2017-09-07 20:22:15 +03:00
secrets: [ docker_username, docker_password ]
repo: gitea/gitea
tags: [ '${DRONE_TAG##v}' ]
when:
event: [ tag ]
2016-11-06 20:32:54 +03:00
docker:
2017-09-07 20:22:15 +03:00
image: plugins/docker:17.05
pull: true
2017-09-07 20:22:15 +03:00
secrets: [ docker_username, docker_password ]
repo: gitea/gitea
tags: [ '${DRONE_BRANCH##release/v}' ]
when:
event: [ push ]
branch: [ release/* ]
docker:
2017-09-07 20:22:15 +03:00
image: plugins/docker:17.05
pull: true
2017-09-07 20:22:15 +03:00
secrets: [ docker_username, docker_password ]
repo: gitea/gitea
tags: [ 'latest' ]
when:
event: [ push ]
branch: [ master ]
2016-11-06 20:32:54 +03:00
2016-11-24 16:48:40 +03:00
release:
2017-09-07 20:22:15 +03:00
image: plugins/s3:1
pull: true
2017-09-13 12:20:15 +03:00
secrets: [ aws_access_key_id, aws_secret_access_key ]
bucket: releases
2017-09-07 20:22:15 +03:00
endpoint: https://storage.gitea.io
2016-11-06 20:32:54 +03:00
path_style: true
2016-11-25 12:53:48 +03:00
strip_prefix: dist/release/
source: dist/release/*
target: /gitea/${DRONE_TAG##v}
when:
event: [ tag ]
release:
2017-09-07 20:22:15 +03:00
image: plugins/s3:1
pull: true
2017-09-13 12:20:15 +03:00
secrets: [ aws_access_key_id, aws_secret_access_key ]
bucket: releases
2017-09-07 20:22:15 +03:00
endpoint: https://storage.gitea.io
path_style: true
strip_prefix: dist/release/
source: dist/release/*
target: /gitea/${DRONE_BRANCH##release/v}
2016-11-06 20:32:54 +03:00
when:
event: [ push ]
branch: [ release/* ]
2016-11-06 20:32:54 +03:00
2016-11-24 16:48:40 +03:00
release:
2017-09-07 20:22:15 +03:00
image: plugins/s3:1
pull: true
2017-09-13 12:20:15 +03:00
secrets: [ aws_access_key_id, aws_secret_access_key ]
bucket: releases
2017-09-07 20:22:15 +03:00
endpoint: https://storage.gitea.io
2016-11-06 20:32:54 +03:00
path_style: true
2016-11-25 12:53:48 +03:00
strip_prefix: dist/release/
source: dist/release/*
target: /gitea/master
2016-11-06 20:32:54 +03:00
when:
event: [ push ]
branch: [ master ]
2016-11-06 20:32:54 +03:00
github:
image: plugins/github-release:1
pull: true
secrets: [ github_token ]
files:
- dist/release/*
when:
event: [ tag ]
upload_translations:
image: jonasfranz/crowdin
pull: true
secrets: [ crowdin_key ]
project_identifier: gitea
ignore_branch: true
download: false
files:
locale_en-US.ini: options/locale/locale_en-US.ini
when:
event: [ push ]
branch: [ master ]
discord:
2017-09-07 20:22:15 +03:00
image: appleboy/drone-discord:1.0.0
pull: true
secrets: [ discord_webhook_id, discord_webhook_token ]
when:
event: [ push, tag, pull_request ]
status: [ changed, failure ]
2016-11-06 20:32:54 +03:00
services:
2016-11-24 16:48:40 +03:00
mysql:
2016-11-06 20:32:54 +03:00
image: mysql:5.7
environment:
- MYSQL_DATABASE=test
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
when:
event: [ push, tag, pull_request ]
2016-11-06 20:32:54 +03:00
2016-11-24 16:48:40 +03:00
pgsql:
2016-11-06 20:32:54 +03:00
image: postgres:9.5
environment:
- POSTGRES_DB=test
when:
event: [ push, tag, pull_request ]