forgejo/.drone.yml

450 lines
9.9 KiB
YAML
Raw Normal View History

2016-11-07 02:32:54 +09:00
workspace:
base: /go
2016-11-07 02:32:54 +09:00
path: src/code.gitea.io/gitea
2017-09-08 02:22:15 +09:00
pipeline:
fetch-tags:
image: docker:git
commands:
- git fetch --tags --force
when:
event:
exclude: [ pull_request ]
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 ]
update-translations:
2019-06-21 08:47:51 +09:00
image: alpine:3.10
commands:
- mv ./options/locale/locale_en-US.ini ./options/
- sed -i -e 's/="/=/g' -e 's/"$$//g' ./options/locale/*.ini
- sed -i -e 's/\\\\"/"/g' ./options/locale/*.ini
- mv ./options/locale_en-US.ini ./options/locale/
when:
event: [ push ]
branch: [ master ]
git_push:
image: appleboy/drone-git-push
pull: true
secrets: [ git_push_ssh_key ]
remote: git@github.com:go-gitea/gitea.git
force: false
commit: true
commit_message: "[skip ci] Updated translations via Crowdin"
author_name: GiteaBot
author_email: teabot@gitea.io
when:
event: [ push ]
branch: [ master ]
pre-build:
image: webhippie/nodejs:latest
pull: true
commands:
- make css
- make js
when:
event: [ push, tag, pull_request ]
build-without-gcc:
image: golang:1.10 # this step is kept as the lowest version of golang that we support
pull: true
commands:
- go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
when:
event: [ push, tag, pull_request ]
build:
image: golang:1.12
2016-11-07 02:32:54 +09:00
pull: true
environment:
TAGS: bindata sqlite sqlite_unlock_notify
2016-11-07 02:32:54 +09:00
commands:
- make clean
- make generate
2019-06-13 04:41:28 +09:00
- make golangci-lint
- make revive
2018-04-20 18:13:50 +09:00
- make swagger-check
- make swagger-validate
- make test-vendor
2016-11-07 02:32:54 +09:00
- make build
when:
event: [ push, tag, pull_request ]
2016-11-07 02:32:54 +09:00
unit-test:
image: golang:1.12
pull: true
2017-09-08 02:22:15 +09:00
group: test
environment:
TAGS: bindata sqlite sqlite_unlock_notify
commands:
- make unit-test-coverage
when:
event: [ push, pull_request ]
branch: [ master ]
release-test:
image: golang:1.12
pull: true
group: test
environment:
TAGS: bindata sqlite sqlite_unlock_notify
commands:
- make test
when:
event: [ push, pull_request ]
branch: [ release/* ]
tag-test:
image: golang:1.12
pull: true
group: test
environment:
TAGS: bindata
commands:
- make test
when:
event: [ tag ]
test-sqlite:
image: golang:1.12
pull: true
group: test
environment:
TAGS: bindata
commands:
- curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
- apt-get install -y git-lfs
- timeout -s ABRT 20m make test-sqlite-migration
- timeout -s ABRT 20m make test-sqlite
when:
event: [ push, tag, pull_request ]
test-mysql:
image: golang:1.12
pull: true
group: test
environment:
TAGS: bindata
TEST_LDAP: "1"
commands:
- curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
- apt-get install -y git-lfs
- make test-mysql-migration
- make integration-test-coverage
when:
event: [ push, pull_request ]
branch: [ master ]
tag-test-mysql:
image: golang:1.12
2016-11-07 02:32:54 +09:00
pull: true
2017-09-08 02:22:15 +09:00
group: test
environment:
TAGS: bindata
TEST_LDAP: "1"
2016-11-07 02:32:54 +09:00
commands:
- curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
- apt-get install -y git-lfs
- timeout -s ABRT 20m make test-mysql-migration
- timeout -s ABRT 20m make test-mysql
2016-11-07 02:32:54 +09:00
when:
event: [ tag ]
2016-11-07 02:32:54 +09:00
test-mysql8:
2019-06-21 08:47:51 +09:00
image: golang:1.12
pull: true
group: test
environment:
TAGS: bindata
TEST_LDAP: "1"
commands:
- curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
- apt-get install -y git-lfs
- timeout -s ABRT 20m make test-mysql8-migration
- timeout -s ABRT 20m make test-mysql8
when:
event: [ push, tag, pull_request ]
2016-11-24 22:48:40 +09:00
test-pgsql:
image: golang:1.12
2016-11-07 02:32:54 +09:00
pull: true
2017-09-08 02:22:15 +09:00
group: test
environment:
TAGS: bindata
TEST_LDAP: "1"
2016-11-07 02:32:54 +09:00
commands:
- curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
- apt-get install -y git-lfs
- timeout -s ABRT 20m make test-pgsql-migration
- timeout -s ABRT 20m make test-pgsql
2016-11-07 02:32:54 +09:00
when:
event: [ push, tag, pull_request ]
test-mssql:
image: golang:1.12
pull: true
group: test
environment:
TAGS: bindata
TEST_LDAP: "1"
commands:
- curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
- apt-get install -y git-lfs
- make test-mssql-migration
- make test-mssql
when:
event: [ push, tag, pull_request ]
# bench-sqlite:
# image: golang:1.12
# pull: true
# group: bench
# commands:
# - make bench-sqlite
# when:
# event: [ tag ]
# bench-mysql:
# image: golang:1.12
# pull: true
# group: bench
# commands:
# - make bench-mysql
# when:
# event: [ tag ]
# bench-mssql:
# image: golang:1.12
# pull: true
# group: bench
# commands:
# - make bench-mssql
# when:
# event: [ tag ]
# bench-pgsql:
# image: golang:1.12
# pull: true
# group: bench
# commands:
# - make bench-pgsql
# when:
# event: [ tag ]
generate-coverage:
image: golang:1.12
pull: true
environment:
TAGS: bindata
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-08 02:22:15 +09:00
static:
2019-02-15 03:20:11 +09:00
image: techknowlogick/xgo:latest
pull: true
environment:
TAGS: bindata sqlite sqlite_unlock_notify
2016-11-07 02:32:54 +09:00
commands:
- export PATH=$PATH:$GOPATH/bin
- make release
2016-11-07 02:32:54 +09:00
when:
event: [ push, tag ]
2016-11-07 02:32:54 +09:00
build-docs:
image: webhippie/hugo:latest
pull: true
commands:
- cd docs
- make trans-copy
- make clean
- make build
publish-docs:
image: lucap/drone-netlify:latest
pull: true
secrets: [ netlify_token ]
site_id: d2260bae-7861-4c02-8646-8f6440b12672
path: docs/public/
when:
event: [ push ]
branch: [ master ]
docker-dryrun:
2019-06-21 08:47:51 +09:00
image: plugins/docker:18.09
pull: true
repo: gitea/gitea
cache_from: gitea/gitea
dry_run: true
when:
event: [ pull_request ]
release-docker:
2019-06-21 08:47:51 +09:00
image: plugins/docker:18.09
pull: true
2017-09-08 02:22:15 +09:00
secrets: [ docker_username, docker_password ]
repo: gitea/gitea
tags: [ '${DRONE_BRANCH##release/v}' ]
cache_from: gitea/gitea
when:
event: [ push ]
branch: [ release/* ]
docker:
2019-06-21 08:47:51 +09:00
image: plugins/docker:18.09
secrets: [ docker_username, docker_password ]
pull: true
repo: gitea/gitea
cache_from: gitea/gitea
default_tags: true
when:
event: [ push, tag ]
2016-11-07 02:32:54 +09:00
gpg-sign:
image: plugins/gpgsign:1
pull: true
secrets: [ gpgsign_key, gpgsign_passphrase ]
detach_sign: true
files:
- dist/release/*
excludes:
- dist/release/*.sha256
when:
event: [ push, tag ]
tag-release:
2017-09-08 02:22:15 +09:00
image: plugins/s3:1
pull: true
2017-09-13 18:20:15 +09:00
secrets: [ aws_access_key_id, aws_secret_access_key ]
bucket: releases
acl: public-read
2017-09-08 02:22:15 +09:00
endpoint: https://storage.gitea.io
2016-11-07 02:32:54 +09:00
path_style: true
2016-11-25 18:53:48 +09:00
strip_prefix: dist/release/
source: dist/release/*
target: /gitea/${DRONE_TAG##v}
when:
event: [ tag ]
release-branch-release:
2017-09-08 02:22:15 +09:00
image: plugins/s3:1
pull: true
2017-09-13 18:20:15 +09:00
secrets: [ aws_access_key_id, aws_secret_access_key ]
bucket: releases
acl: public-read
2017-09-08 02:22:15 +09:00
endpoint: https://storage.gitea.io
path_style: true
strip_prefix: dist/release/
source: dist/release/*
target: /gitea/${DRONE_BRANCH##release/v}
2016-11-07 02:32:54 +09:00
when:
event: [ push ]
branch: [ release/* ]
2016-11-07 02:32:54 +09:00
2016-11-24 22:48:40 +09:00
release:
2017-09-08 02:22:15 +09:00
image: plugins/s3:1
pull: true
2017-09-13 18:20:15 +09:00
secrets: [ aws_access_key_id, aws_secret_access_key ]
bucket: releases
acl: public-read
2017-09-08 02:22:15 +09:00
endpoint: https://storage.gitea.io
2016-11-07 02:32:54 +09:00
path_style: true
2016-11-25 18:53:48 +09:00
strip_prefix: dist/release/
source: dist/release/*
target: /gitea/master
2016-11-07 02:32:54 +09:00
when:
event: [ push ]
branch: [ master ]
2016-11-07 02:32:54 +09: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-08 02:22:15 +09: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-07 02:32:54 +09:00
services:
2016-11-24 22:48:40 +09:00
mysql:
2016-11-07 02:32:54 +09:00
image: mysql:5.7
environment:
- MYSQL_DATABASE=test
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
when:
event: [ push, tag, pull_request ]
2016-11-07 02:32:54 +09:00
mysql8:
image: mysql:8.0
environment:
- MYSQL_DATABASE=test
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
- MYSQL_DATABASE=testgitea
when:
event: [ push, tag, pull_request ]
2016-11-24 22:48:40 +09:00
pgsql:
2016-11-07 02:32:54 +09:00
image: postgres:9.5
environment:
- POSTGRES_DB=test
when:
event: [ push, tag, pull_request ]
mssql:
image: microsoft/mssql-server-linux:latest
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=MwantsaSecurePassword1
- MSSQL_PID=Standard
when:
event: [ push, tag, pull_request ]
ldap:
image: gitea/test-openldap:latest
when:
event: [ push, tag, pull_request ]