|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
name: compliance
|
|
|
|
|
|
|
|
platform:
|
|
|
|
os: linux
|
|
|
|
arch: arm64
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
event:
|
|
|
|
- push
|
|
|
|
- tag
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: deps-frontend
|
|
|
|
pull: always
|
|
|
|
image: node:14
|
|
|
|
commands:
|
|
|
|
- make node_modules
|
|
|
|
|
|
|
|
- name: lint-frontend
|
|
|
|
image: node:14
|
|
|
|
commands:
|
|
|
|
- make lint-frontend
|
|
|
|
depends_on: [deps-frontend]
|
|
|
|
|
|
|
|
- name: lint-backend
|
|
|
|
pull: always
|
|
|
|
image: gitea/test_env:linux-arm64 # https://gitea.com/gitea/test-env
|
|
|
|
commands:
|
|
|
|
- make lint-backend
|
|
|
|
environment:
|
|
|
|
GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
|
|
|
|
GOSUMDB: sum.golang.org
|
|
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
|
|
|
|
|
|
- name: lint-backend-windows
|
|
|
|
pull: always
|
|
|
|
image: gitea/test_env:linux-arm64 # https://gitea.com/gitea/test-env
|
|
|
|
commands:
|
|
|
|
- make golangci-lint vet
|
|
|
|
environment:
|
|
|
|
GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
|
|
|
|
GOSUMDB: sum.golang.org
|
|
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
|
|
GOOS: windows
|
|
|
|
GOARCH: amd64
|
|
|
|
|
|
|
|
- name: lint-backend-gogit
|
|
|
|
pull: always
|
|
|
|
image: gitea/test_env:linux-arm64 # https://gitea.com/gitea/test-env
|
|
|
|
commands:
|
|
|
|
- make lint-backend
|
|
|
|
environment:
|
|
|
|
GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
|
|
|
|
GOSUMDB: sum.golang.org
|
|
|
|
TAGS: bindata gogit sqlite sqlite_unlock_notify
|
|
|
|
|
|
|
|
- name: checks-frontend
|
|
|
|
image: node:14
|
|
|
|
commands:
|
|
|
|
- make checks-frontend
|
|
|
|
depends_on: [deps-frontend]
|
|
|
|
|
|
|
|
- name: checks-backend
|
|
|
|
pull: always
|
|
|
|
image: golang:1.16
|
|
|
|
commands:
|
|
|
|
- make checks-backend
|
|
|
|
depends_on: [lint-backend]
|
|
|
|
|
|
|
|
- name: build-frontend
|
|
|
|
image: node:14
|
|
|
|
commands:
|
|
|
|
- make frontend
|
|
|
|
depends_on: [lint-frontend]
|
|
|
|
|
|
|
|
- name: build-backend-no-gcc
|
|
|
|
pull: always
|
|
|
|
image: golang:1.14 # this step is kept as the lowest version of golang that we support
|
|
|
|
environment:
|
|
|
|
GO111MODULE: on
|
|
|
|
GOPROXY: off
|
|
|
|
commands:
|
|
|
|
- go build -mod=vendor -o gitea_no_gcc # test if build succeeds without the sqlite tag
|
|
|
|
depends_on: [checks-backend]
|
|
|
|
|
|
|
|
- name: build-backend-arm64
|
|
|
|
image: golang:1.16
|
|
|
|
environment:
|
|
|
|
GO111MODULE: on
|
|
|
|
GOPROXY: off
|
|
|
|
GOOS: linux
|
|
|
|
GOARCH: arm64
|
|
|
|
TAGS: bindata gogit
|
|
|
|
commands:
|
|
|
|
- make backend # test cross compile
|
|
|
|
- rm ./gitea # clean
|
|
|
|
depends_on: [checks-backend]
|
|
|
|
|
|
|
|
- name: build-backend-windows
|
|
|
|
image: golang:1.16
|
|
|
|
environment:
|
|
|
|
GO111MODULE: on
|
|
|
|
GOPROXY: off
|
|
|
|
GOOS: windows
|
|
|
|
GOARCH: amd64
|
|
|
|
TAGS: bindata gogit
|
|
|
|
commands:
|
|
|
|
- go build -mod=vendor -o gitea_windows
|
|
|
|
depends_on: [checks-backend]
|
|
|
|
|
|
|
|
- name: build-backend-386
|
|
|
|
image: golang:1.16
|
|
|
|
environment:
|
|
|
|
GO111MODULE: on
|
|
|
|
GOPROXY: off
|
|
|
|
GOOS: linux
|
|
|
|
GOARCH: 386
|
|
|
|
commands:
|
|
|
|
- go build -mod=vendor -o gitea_linux_386 # test if compatible with 32 bit
|
|
|
|
depends_on: [checks-backend]
|
|
|
|
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
name: testing-amd64
|
|
|
|
|
|
|
|
platform:
|
|
|
|
os: linux
|
|
|
|
arch: amd64
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- compliance
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
event:
|
|
|
|
- push
|
|
|
|
- tag
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
services:
|
|
|
|
- name: mysql
|
|
|
|
image: mysql:5.7
|
|
|
|
environment:
|
|
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
|
|
|
MYSQL_DATABASE: test
|
|
|
|
|
|
|
|
- name: mysql8
|
|
|
|
image: mysql:8.0
|
|
|
|
environment:
|
|
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
|
|
|
MYSQL_DATABASE: testgitea
|
|
|
|
|
|
|
|
- name: mssql
|
|
|
|
image: mcr.microsoft.com/mssql/server:latest
|
|
|
|
environment:
|
|
|
|
ACCEPT_EULA: Y
|
|
|
|
MSSQL_PID: Standard
|
|
|
|
SA_PASSWORD: MwantsaSecurePassword1
|
|
|
|
|
|
|
|
- name: ldap
|
|
|
|
image: gitea/test-openldap:latest
|
|
|
|
|
|
|
|
- name: elasticsearch
|
|
|
|
environment:
|
|
|
|
discovery.type: single-node
|
|
|
|
image: elasticsearch:7.5.0
|
|
|
|
|
|
|
|
- name: minio
|
|
|
|
image: minio/minio:RELEASE.2021-03-12T00-00-47Z
|
|
|
|
commands:
|
|
|
|
- minio server /data
|
|
|
|
environment:
|
|
|
|
MINIO_ACCESS_KEY: 123456
|
|
|
|
MINIO_SECRET_KEY: 12345678
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: fetch-tags
|
|
|
|
image: docker:git
|
|
|
|
commands:
|
|
|
|
- git fetch --tags --force
|
|
|
|
when:
|
|
|
|
event:
|
|
|
|
exclude:
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
- name: build
|
|
|
|
pull: always
|
|
|
|
image: golang:1.16
|
|
|
|
commands:
|
|
|
|
- make backend
|
|
|
|
environment:
|
|
|
|
GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
|
|
|
|
GOSUMDB: sum.golang.org
|
|
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
|
|
|
|
|
|
- name: tag-pre-condition
|
|
|
|
pull: always
|
|
|
|
image: drone/git
|
|
|
|
commands:
|
|
|
|
- git update-ref refs/heads/tag_test ${DRONE_COMMIT_SHA}
|
|
|
|
|
|
|
|
- name: unit-test
|
|
|
|
image: golang:1.16
|
|
|
|
commands:
|
|
|
|
- make unit-test-coverage test-check
|
|
|
|
environment:
|
|
|
|
GOPROXY: off
|
|
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
|
|
GITHUB_READ_TOKEN:
|
|
|
|
from_secret: github_read_token
|
|
|
|
|
|
|
|
- name: unit-test-gogit
|
|
|
|
pull: always
|
|
|
|
image: golang:1.16
|
|
|
|
commands:
|
|
|
|
- make unit-test-coverage test-check
|
|
|
|
environment:
|
|
|
|
GOPROXY: off
|
|
|
|
TAGS: bindata gogit sqlite sqlite_unlock_notify
|
|
|
|
GITHUB_READ_TOKEN:
|
|
|
|
from_secret: github_read_token
|
|
|
|
|
|
|
|
- name: test-mysql
|
|
|
|
image: gitea/test_env:linux-amd64 # https://gitea.com/gitea/test-env
|
|
|
|
commands:
|
|
|
|
- make test-mysql-migration integration-test-coverage
|
|
|
|
environment:
|
|
|
|
GOPROXY: off
|
|
|
|
TAGS: bindata
|
|
|
|
TEST_LDAP: 1
|
|
|
|
USE_REPO_TEST_DIR: 1
|
|
|
|
TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200"
|
|
|
|
depends_on:
|
|
|
|
- build
|
|
|
|
|
|
|
|
- name: test-mysql8
|
|
|
|
image: gitea/test_env:linux-amd64 # https://gitea.com/gitea/test-env
|
|
|
|
commands:
|
|
|
|
- timeout -s ABRT 40m make test-mysql8-migration test-mysql8
|
|
|
|
environment:
|
|
|
|
GOPROXY: off
|
|
|
|
TAGS: bindata
|
|
|
|
TEST_LDAP: 1
|
|
|
|
USE_REPO_TEST_DIR: 1
|
|
|
|
depends_on:
|
|
|
|
- build
|
|
|
|
|
|
|
|
- name: test-mssql
|
|
|
|
image: gitea/test_env:linux-amd64 # https://gitea.com/gitea/test-env
|
|
|
|
commands:
|
|
|
|
- make test-mssql-migration test-mssql
|
|
|
|
environment:
|
|
|
|
GOPROXY: off
|
|
|
|
TAGS: bindata
|
|
|
|
TEST_LDAP: 1
|
|
|
|
USE_REPO_TEST_DIR: 1
|
|
|
|
depends_on:
|
|
|
|
- build
|
|
|
|
|
|
|
|
- name: generate-coverage
|
|
|
|
image: golang:1.16
|
|
|
|
commands:
|
|
|
|
- make coverage
|
|
|
|
environment:
|
|
|
|
GOPROXY: off
|
|
|
|
TAGS: bindata
|
|
|
|
depends_on:
|
|
|
|
- unit-test
|
|
|
|
- test-mysql
|
|
|
|
when:
|
|
|
|
branch:
|
|
|
|
- master
|
|
|
|
event:
|
|
|
|
- push
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
- name: coverage-codecov
|
|
|
|
pull: always
|
|
|
|
image: plugins/codecov
|
|
|
|
settings:
|
|
|
|
files:
|
|
|
|
- coverage.all
|
|
|
|
token:
|
|
|
|
from_secret: codecov_token
|
|
|
|
depends_on:
|
|
|
|
- generate-coverage
|
|
|
|
when:
|
|
|
|
branch:
|
|
|
|
- master
|
|
|
|
event:
|
|
|
|
- push
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
name: testing-arm64
|
|
|
|
|
|
|
|
platform:
|
|
|
|
os: linux
|
|
|
|
arch: arm64
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- compliance
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
event:
|
|
|
|
- push
|
|
|
|
- tag
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
services:
|
|
|
|
- name: pgsql
|
|
|
|
pull: default
|
|
|
|
image: postgres:9.5
|
|
|
|
environment:
|
|
|
|
POSTGRES_DB: test
|
|
|
|
POSTGRES_PASSWORD: postgres
|
|
|
|
|
|
|
|
- name: ldap
|
|
|
|
pull: default
|
|
|
|
image: gitea/test-openldap:latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: fetch-tags
|
|
|
|
image: docker:git
|
|
|
|
commands:
|
|
|
|
- git fetch --tags --force
|
|
|
|
when:
|
|
|
|
event:
|
|
|
|
exclude:
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
- name: build
|
|
|
|
pull: always
|
|
|
|
image: golang:1.16
|
|
|
|
commands:
|
|
|
|
- make backend
|
|
|
|
environment:
|
|
|
|
GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
|
|
|
|
GOSUMDB: sum.golang.org
|
|
|
|
TAGS: bindata gogit sqlite sqlite_unlock_notify
|
|
|
|
|
|
|
|
- name: test-sqlite
|
|
|
|
image: gitea/test_env:linux-arm64 # https://gitea.com/gitea/test-env
|
|
|
|
commands:
|
|
|
|
- timeout -s ABRT 40m make test-sqlite-migration test-sqlite
|
|
|
|
environment:
|
|
|
|
GOPROXY: off
|
|
|
|
TAGS: bindata gogit sqlite sqlite_unlock_notify
|
|
|
|
TEST_TAGS: gogit sqlite sqlite_unlock_notify
|
|
|
|
USE_REPO_TEST_DIR: 1
|
|
|
|
depends_on:
|
|
|
|
- build
|
|
|
|
|
|
|
|
- name: test-pgsql
|
|
|
|
image: gitea/test_env:linux-arm64 # https://gitea.com/gitea/test-env
|
|
|
|
commands:
|
|
|
|
- timeout -s ABRT 40m make test-pgsql-migration test-pgsql
|
|
|
|
environment:
|
|
|
|
GOPROXY: off
|
|
|
|
TAGS: bindata gogit
|
|
|
|
TEST_TAGS: gogit
|
|
|
|
TEST_LDAP: 1
|
|
|
|
USE_REPO_TEST_DIR: 1
|
|
|
|
depends_on:
|
|
|
|
- build
|
|
|
|
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
name: update_translations
|
|
|
|
|
|
|
|
platform:
|
|
|
|
os: linux
|
|
|
|
arch: arm64
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
branch:
|
|
|
|
- master
|
|
|
|
event:
|
|
|
|
- cron
|
|
|
|
cron:
|
|
|
|
- update_translations
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: download
|
|
|
|
pull: always
|
|
|
|
image: jonasfranz/crowdin
|
|
|
|
settings:
|
|
|
|
download: true
|
|
|
|
export_dir: options/locale/
|
|
|
|
ignore_branch: true
|
|
|
|
project_identifier: gitea
|
|
|
|
environment:
|
|
|
|
CROWDIN_KEY:
|
|
|
|
from_secret: crowdin_key
|
|
|
|
|
|
|
|
- name: update
|
|
|
|
pull: default
|
|
|
|
image: alpine:3.13
|
|
|
|
commands:
|
|
|
|
- ./build/update-locales.sh
|
|
|
|
|
|
|
|
- name: push
|
|
|
|
pull: always
|
|
|
|
image: appleboy/drone-git-push
|
|
|
|
settings:
|
|
|
|
author_email: "teabot@gitea.io"
|
|
|
|
author_name: GiteaBot
|
|
|
|
commit: true
|
|
|
|
commit_message: "[skip ci] Updated translations via Crowdin"
|
|
|
|
remote: "git@github.com:go-gitea/gitea.git"
|
|
|
|
environment:
|
|
|
|
GIT_PUSH_SSH_KEY:
|
|
|
|
from_secret: git_push_ssh_key
|
|
|
|
|
|
|
|
- name: upload_translations
|
|
|
|
pull: always
|
|
|
|
image: jonasfranz/crowdin
|
|
|
|
settings:
|
|
|
|
files:
|
|
|
|
locale_en-US.ini: options/locale/locale_en-US.ini
|
|
|
|
ignore_branch: true
|
|
|
|
project_identifier: gitea
|
|
|
|
environment:
|
|
|
|
CROWDIN_KEY:
|
|
|
|
from_secret: crowdin_key
|
|
|
|
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
name: update_gitignore_and_licenses
|
|
|
|
|
|
|
|
platform:
|
|
|
|
os: linux
|
|
|
|
arch: arm64
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
branch:
|
|
|
|
- master
|
|
|
|
event:
|
|
|
|
- cron
|
|
|
|
cron:
|
|
|
|
- update_gitignore_and_licenses
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: download
|
|
|
|
image: golang:1.16
|
|
|
|
commands:
|
|
|
|
- timeout -s ABRT 40m make generate-license generate-gitignore
|
|
|
|
|
|
|
|
- name: push
|
|
|
|
pull: always
|
|
|
|
image: appleboy/drone-git-push
|
|
|
|
settings:
|
|
|
|
author_email: "teabot@gitea.io"
|
|
|
|
author_name: GiteaBot
|
|
|
|
commit: true
|
|
|
|
commit_message: "[skip ci] Updated licenses and gitignores "
|
|
|
|
remote: "git@github.com:go-gitea/gitea.git"
|
|
|
|
environment:
|
|
|
|
GIT_PUSH_SSH_KEY:
|
|
|
|
from_secret: git_push_ssh_key
|
|
|
|
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
name: release-latest
|
|
|
|
|
|
|
|
platform:
|
|
|
|
os: linux
|
|
|
|
arch: amd64
|
|
|
|
|
|
|
|
workspace:
|
|
|
|
base: /source
|
|
|
|
path: /
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
branch:
|
|
|
|
- master
|
|
|
|
- "release/*"
|
|
|
|
event:
|
|
|
|
- push
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- testing-amd64
|
|
|
|
- testing-arm64
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: fetch-tags
|
|
|
|
image: docker:git
|
|
|
|
commands:
|
|
|
|
- git fetch --tags --force
|
|
|
|
|
|
|
|
- name: static
|
|
|
|
pull: always
|
|
|
|
image: techknowlogick/xgo:go-1.16.x
|
|
|
|
commands:
|
|
|
|
- curl -sL https://deb.nodesource.com/setup_14.x | bash - && apt -y install nodejs
|
|
|
|
- export PATH=$PATH:$GOPATH/bin
|
|
|
|
- make release
|
|
|
|
environment:
|
|
|
|
GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
|
|
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
|
|
|
|
|
|
- name: gpg-sign
|
|
|
|
pull: always
|
|
|
|
image: plugins/gpgsign:1
|
|
|
|
settings:
|
|
|
|
detach_sign: true
|
|
|
|
excludes:
|
|
|
|
- "dist/release/*.sha256"
|
|
|
|
files:
|
|
|
|
- "dist/release/*"
|
|
|
|
environment:
|
|
|
|
GPGSIGN_KEY:
|
|
|
|
from_secret: gpgsign_key
|
|
|
|
GPGSIGN_PASSPHRASE:
|
|
|
|
from_secret: gpgsign_passphrase
|
|
|
|
|
|
|
|
- name: release-branch
|
|
|
|
pull: always
|
|
|
|
image: plugins/s3:1
|
|
|
|
settings:
|
|