workspace:
|
|
base: /srv/app
|
|
path: src/code.gitea.io/gitea
|
|
|
|
clone:
|
|
git:
|
|
image: plugins/git:1
|
|
depth: 50
|
|
tags: true
|
|
|
|
pipeline:
|
|
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
|
|
pull: true
|
|
environment:
|
|
TAGS: bindata sqlite
|
|
GOPATH: /srv/app
|
|
commands:
|
|
- make clean
|
|
- make generate
|
|
- make vet
|
|
- make lint
|
|
- make fmt-check
|
|
- make misspell-check
|
|
- make test-vendor
|
|
- make build
|
|
when:
|
|
event: [ push, tag, pull_request ]
|
|
|
|
test:
|
|
image: webhippie/golang:edge
|
|
pull: true
|
|
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 ]
|
|
|
|
test-mysql:
|
|
image: webhippie/golang:edge
|
|
pull: true
|
|
group: test
|
|
environment:
|
|
TAGS: bindata
|
|
GOPATH: /srv/app
|
|
commands:
|
|
- make test-mysql
|
|
when:
|
|
event: [ tag ]
|
|
|
|
test-pgsql:
|
|
image: webhippie/golang:edge
|
|
pull: true
|
|
group: test
|
|
environment:
|
|
TAGS: bindata
|
|
GOPATH: /srv/app
|
|
commands:
|
|
- make test-pgsql
|
|
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 ]
|
|
|
|
static:
|
|
image: karalabe/xgo-latest:latest
|
|
pull: true
|
|
environment:
|
|
TAGS: bindata sqlite
|
|
GOPATH: /srv/app
|
|
commands:
|
|
- make release
|
|
when:
|
|
event: [ push, tag ]
|
|
|
|
docker:
|
|
image: plugins/docker:17.05
|
|
pull: true
|
|
secrets: [ docker_username, docker_password ]
|
|
repo: gitea/gitea
|
|
tags: [ '${DRONE_TAG##v}' ]
|
|
when:
|
|
event: [ tag ]
|
|
|
|
docker:
|
|
image: plugins/docker:17.05
|
|
pull: true
|
|
secrets: [ docker_username, docker_password ]
|
|
repo: gitea/gitea
|
|
tags: [ '${DRONE_BRANCH##release/v}' ]
|
|
when:
|
|
event: [ push ]
|
|
branch: [ release/* ]
|
|
|
|
docker:
|
|
image: plugins/docker:17.05
|
|
pull: true
|
|
secrets: [ docker_username, docker_password ]
|
|
repo: gitea/gitea
|
|
tags: [ 'latest' ]
|
|
when:
|
|
event: [ push ]
|
|
branch: [ master ]
|
|
|
|
release:
|
|
image: plugins/s3:1
|
|
pull: true
|
|
secrets: [ aws_access_key_id, aws_secret_access_key ]
|
|
bucket: releases
|
|
endpoint: https://storage.gitea.io
|
|
path_style: true
|
|
strip_prefix: dist/release/
|
|
source: dist/release/*
|
|
target: /gitea/${DRONE_TAG##v}
|
|
when:
|
|
event: [ tag ]
|
|
|
|
release:
|
|
image: plugins/s3:1
|
|
pull: true
|
|
secrets: [ aws_access_key_id, aws_secret_access_key ]
|
|
bucket: releases
|
|
endpoint: https://storage.gitea.io
|
|
path_style: true
|
|
strip_prefix: dist/release/
|
|
source: dist/release/*
|
|
target: /gitea/${DRONE_BRANCH##release/v}
|
|
when:
|
|
event: [ push ]
|
|
branch: [ release/* ]
|
|
|
|
release:
|
|
image: plugins/s3:1
|
|
pull: true
|
|
secrets: [ aws_access_key_id, aws_secret_access_key ]
|
|
bucket: releases
|
|
endpoint: https://storage.gitea.io
|
|
path_style: true
|
|
strip_prefix: dist/release/
|
|
source: dist/release/*
|
|
target: /gitea/master
|
|
when:
|
|
event: [ push ]
|
|
branch: [ master ]
|
|
|
|
translations:
|
|
image: jonasfranz/crowdin
|
|
pull: true
|
|
secrets: [ crowdin_key ]
|
|
project_identifier: gitea
|
|
ignore_branch: true
|
|
files:
|
|
locale_en-US.ini: options/locale/locale_en-US.ini
|
|
when:
|
|
event: [ push ]
|
|
branch: [ master ]
|
|
|
|
github:
|
|
image: plugins/github-release:1
|
|
pull: true
|
|
secrets: [ github_token ]
|
|
files:
|
|
- dist/release/*
|
|
when:
|
|
event: [ tag ]
|
|
|
|
discord:
|
|
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 ]
|
|
|
|
services:
|
|
mysql:
|
|
image: mysql:5.7
|
|
environment:
|
|
- MYSQL_DATABASE=test
|
|
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
|
|
when:
|
|
event: [ push, tag, pull_request ]
|
|
|
|
pgsql:
|
|
image: postgres:9.5
|
|
environment:
|
|
- POSTGRES_DB=test
|
|
when:
|
|
event: [ push, tag, pull_request ]
|