- workspace:
- base: /go
- path: src/code.gitea.io/gitea
-
- 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:
- 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 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
- 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
- - 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
- 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-mysql-migration
- - timeout -s ABRT 20m 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
- - timeout -s ABRT 20m make test-mysql8-migration
- - timeout -s ABRT 20m 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
- - timeout -s ABRT 20m make test-pgsql-migration
- - timeout -s ABRT 20m 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 ]
|