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 ]