mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-30 23:53:52 +03:00
a27d5d2b23
Although #591 attempted to make version hashes be preceded with tag names on our branch builds, it would fail again silently at 50 commits because we were not cloning the full branch. Drone's new plugin will do a single branch clone by default meaning that depth is no longer necessary.
452 lines
10 KiB
YAML
452 lines
10 KiB
YAML
workspace:
|
|
base: /go
|
|
path: src/code.gitea.io/gitea
|
|
|
|
pipeline:
|
|
fetch-tags:
|
|
image: docker:git
|
|
commands:
|
|
- git fetch --tags --force
|
|
|
|
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:
|
|
image: alpine:3.7
|
|
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:
|
|
- npm install
|
|
- make stylesheets-check
|
|
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
|
|
pull: true
|
|
environment:
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
commands:
|
|
- make clean
|
|
- make generate
|
|
- make vet
|
|
- make lint
|
|
- make fmt-check
|
|
- make swagger-check
|
|
- make swagger-validate
|
|
- make misspell-check
|
|
- make test-vendor
|
|
- make build
|
|
when:
|
|
event: [ push, tag, pull_request ]
|
|
|
|
unit-test:
|
|
image: golang:1.12
|
|
pull: true
|
|
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
|
|
- (sleep 1200 && (echo 'kill -ABRT $(pidof gitea) $(pidof integrations.sqlite.test)' | sh)) &
|
|
- make test-sqlite-migration
|
|
- 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
|
|
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
|
|
- (sleep 1200 && (echo 'kill -ABRT $(pidof gitea) $(pidof integrations.test)' | sh)) &
|
|
- make test-mysql-migration
|
|
- make test-mysql
|
|
when:
|
|
event: [ tag ]
|
|
|
|
test-mysql8:
|
|
image: golang:1.11
|
|
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
|
|
- (sleep 1200 && (echo 'kill -ABRT $(pidof gitea) $(pidof integrations.test)' | sh)) &
|
|
- make test-mysql8-migration
|
|
- make test-mysql8
|
|
when:
|
|
event: [ push, tag, pull_request ]
|
|
|
|
test-pgsql:
|
|
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
|
|
- (sleep 1200 && (echo 'kill -ABRT $(pidof gitea) $(pidof integrations.test)' | sh)) &
|
|
- make test-pgsql-migration
|
|
- make test-pgsql
|
|
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 ]
|
|
|
|
static:
|
|
image: techknowlogick/xgo:latest
|
|
pull: true
|
|
environment:
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
commands:
|
|
- export PATH=$PATH:$GOPATH/bin
|
|
- make release
|
|
when:
|
|
event: [ push, tag ]
|
|
|
|
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:
|
|
image: plugins/docker:17.12
|
|
pull: true
|
|
repo: gitea/gitea
|
|
cache_from: gitea/gitea
|
|
dry_run: true
|
|
when:
|
|
event: [ pull_request ]
|
|
|
|
release-docker:
|
|
image: plugins/docker:17.12
|
|
pull: true
|
|
secrets: [ docker_username, docker_password ]
|
|
repo: gitea/gitea
|
|
tags: [ '${DRONE_BRANCH##release/v}' ]
|
|
cache_from: gitea/gitea
|
|
when:
|
|
event: [ push ]
|
|
branch: [ release/* ]
|
|
|
|
docker:
|
|
image: plugins/docker:17.12
|
|
secrets: [ docker_username, docker_password ]
|
|
pull: true
|
|
repo: gitea/gitea
|
|
cache_from: gitea/gitea
|
|
default_tags: true
|
|
when:
|
|
event: [ push, tag ]
|
|
|
|
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:
|
|
image: plugins/s3:1
|
|
pull: true
|
|
secrets: [ aws_access_key_id, aws_secret_access_key ]
|
|
bucket: releases
|
|
acl: public-read
|
|
endpoint: https://storage.gitea.io
|
|
path_style: true
|
|
strip_prefix: dist/release/
|
|
source: dist/release/*
|
|
target: /gitea/${DRONE_TAG##v}
|
|
when:
|
|
event: [ tag ]
|
|
|
|
release-branch-release:
|
|
image: plugins/s3:1
|
|
pull: true
|
|
secrets: [ aws_access_key_id, aws_secret_access_key ]
|
|
bucket: releases
|
|
acl: public-read
|
|
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
|
|
acl: public-read
|
|
endpoint: https://storage.gitea.io
|
|
path_style: true
|
|
strip_prefix: dist/release/
|
|
source: dist/release/*
|
|
target: /gitea/master
|
|
when:
|
|
event: [ push ]
|
|
branch: [ master ]
|
|
|
|
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:
|
|
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 ]
|
|
|
|
mysql8:
|
|
image: mysql:8.0
|
|
environment:
|
|
- MYSQL_DATABASE=test
|
|
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
|
|
- MYSQL_DATABASE=testgitea
|
|
when:
|
|
event: [ push, tag, pull_request ]
|
|
|
|
pgsql:
|
|
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 ]
|