aboutsummaryrefslogtreecommitdiffstats
path: root/.drone.yml
diff options
context:
space:
mode:
authortechknowlogick <techknowlogick@gitea.io>2023-05-03 22:04:02 -0400
committerGitHub <noreply@github.com>2023-05-04 02:04:02 +0000
commitf7f078213297ee870301d1282366d2f0b5d9de2b (patch)
tree8e7c0c1222269061f368e89b4a7a9116a3ea0adb /.drone.yml
parentad8631c069e331c29fe0bca8a0215d2122afaa74 (diff)
downloadgitea-f7f078213297ee870301d1282366d2f0b5d9de2b.tar.gz
gitea-f7f078213297ee870301d1282366d2f0b5d9de2b.zip
Use Actions for DB & E2E tests (#24494)
following https://github.com/go-gitea/gitea/pull/24314 and https://github.com/go-gitea/gitea/pull/24434, this PR moves drone cron pipelines to (GitHub) Actions. As these are mostly compatible with Gitea Actions, when we start to dogfood, these will already be migrated. --------- Co-authored-by: silverwind <me@silverwind.io>
Diffstat (limited to '.drone.yml')
-rw-r--r--.drone.yml846
1 files changed, 0 insertions, 846 deletions
diff --git a/.drone.yml b/.drone.yml
index 459536621b..7810d3d104 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -1,752 +1,6 @@
---
kind: pipeline
type: docker
-name: compliance
-
-platform:
- os: linux
- arch: amd64
-
-trigger:
- event:
- - pull_request
- paths:
- exclude:
- - "docs/**"
- - "*.md"
-
-volumes:
- - name: deps
- temp: {}
-
-steps:
- - name: deps-frontend
- image: node:18
- pull: always
- commands:
- - make deps-frontend
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- - make deps-tools
- volumes:
- - name: deps
- path: /go
-
- - name: lint-frontend
- image: node:18
- commands:
- - make lint-frontend
- depends_on: [deps-frontend]
-
- - name: lint-backend
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - make lint-backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata sqlite sqlite_unlock_notify
- depends_on: [deps-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: lint-backend-windows
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- commands:
- - make lint-go-windows lint-go-vet
- environment:
- GOPROXY: https://goproxy.io # 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
- depends_on: [deps-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: lint-backend-gogit
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- commands:
- - make lint-backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata gogit sqlite sqlite_unlock_notify
- depends_on: [deps-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: checks-frontend
- image: node:18
- commands:
- - make checks-frontend
- depends_on: [deps-frontend]
-
- - name: checks-backend
- image: gitea/test_env:linux-1.20-amd64
- commands:
- - make --always-make checks-backend # ensure the 'go-licenses' make target runs
- depends_on: [deps-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: test-frontend
- image: node:18
- commands:
- - make test-frontend
- depends_on: [lint-frontend]
-
- - name: build-frontend
- image: node:18
- commands:
- - make frontend
- depends_on: [deps-frontend]
-
- - name: build-backend-no-gcc
- image: gitea/test_env:linux-1.19-amd64 # this step is kept as the lowest version of golang that we support
- pull: always
- environment:
- GOPROXY: https://goproxy.io
- commands:
- - go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
- depends_on: [deps-backend, checks-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: build-backend-arm64
- image: gitea/test_env:linux-1.20-amd64
- environment:
- GOPROXY: https://goproxy.io
- GOOS: linux
- GOARCH: arm64
- TAGS: bindata gogit
- commands:
- - make backend # test cross compile
- - rm ./gitea # clean
- depends_on: [deps-backend, checks-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: build-backend-windows
- image: gitea/test_env:linux-1.20-amd64
- environment:
- GOPROXY: https://goproxy.io
- GOOS: windows
- GOARCH: amd64
- TAGS: bindata gogit
- commands:
- - go build -o gitea_windows
- depends_on: [deps-backend, checks-backend]
- volumes:
- - name: deps
- path: /go
-
- - name: build-backend-386
- image: gitea/test_env:linux-1.20-amd64
- environment:
- GOPROXY: https://goproxy.io
- GOOS: linux
- GOARCH: 386
- commands:
- - go build -o gitea_linux_386 # test if compatible with 32 bit
- depends_on: [deps-backend, checks-backend]
- volumes:
- - name: deps
- path: /go
-
----
-kind: pipeline
-type: docker
-name: testing-pgsql
-
-platform:
- os: linux
- arch: amd64
-
-depends_on:
- - compliance
-
-trigger:
- event:
- - pull_request
- paths:
- exclude:
- - "docs/**"
-
-volumes:
- - name: deps
- temp: {}
-
-services:
- - name: pgsql
- pull: default
- image: postgres:15
- environment:
- POSTGRES_DB: test
- POSTGRES_PASSWORD: postgres
-
- - name: ldap
- image: gitea/test-openldap:latest
- pull: always
-
- - name: minio
- image: minio/minio:RELEASE.2021-03-12T00-00-47Z
- pull: always
- commands:
- - minio server /data
- environment:
- MINIO_ACCESS_KEY: 123456
- MINIO_SECRET_KEY: 12345678
-
-steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-pgsql
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - timeout -s ABRT 50m make test-pgsql-migration test-pgsql
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata gogit
- RACE_ENABLED: true
- TEST_TAGS: gogit
- TEST_LDAP: 1
- USE_REPO_TEST_DIR: 1
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
----
-kind: pipeline
-type: docker
-name: testing-mysql
-
-platform:
- os: linux
- arch: amd64
-
-depends_on:
- - compliance
-
-trigger:
- event:
- - pull_request
- paths:
- exclude:
- - "docs/**"
-
-volumes:
- - name: deps
- temp: {}
-
-services:
- - name: mysql
- image: mysql:5.7
- pull: always
- environment:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_DATABASE: test
-
- - name: elasticsearch
- image: elasticsearch:7.5.0
- pull: always
- environment:
- discovery.type: single-node
-
- - name: smtpimap
- image: tabascoterrier/docker-imap-devel:latest
- pull: always
-
-steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: unit-test
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - make unit-test-coverage test-check
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- RACE_ENABLED: true
- GITHUB_READ_TOKEN:
- from_secret: github_read_token
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: unit-test-gogit
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - make unit-test-coverage test-check
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata gogit
- RACE_ENABLED: true
- GITHUB_READ_TOKEN:
- from_secret: github_read_token
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-mysql
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - make test-mysql-migration integration-test-coverage
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- RACE_ENABLED: true
- USE_REPO_TEST_DIR: 1
- TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200"
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
- - name: generate-coverage
- image: gitea/test_env:linux-1.20-amd64
- commands:
- - make coverage
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- depends_on: [unit-test, test-mysql]
- when:
- branch:
- - main
- event:
- - push
- - pull_request
-
- - name: coverage-codecov
- image: woodpeckerci/plugin-codecov:next-alpine
- pull: always
- settings:
- files:
- - coverage.all
- token:
- from_secret: codecov_token
- depends_on: [generate-coverage]
- when:
- branch:
- - main
- event:
- - push
- - pull_request
-
----
-kind: pipeline
-type: docker
-name: testing-mysql8
-
-platform:
- os: linux
- arch: amd64
-
-depends_on:
- - compliance
-
-trigger:
- event:
- - pull_request
- paths:
- exclude:
- - "docs/**"
-
-volumes:
- - name: deps
- temp: {}
-
-services:
- - name: mysql8
- image: mysql:8
- pull: always
- environment:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_DATABASE: testgitea
-
-steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-mysql8
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - timeout -s ABRT 50m make test-mysql8-migration test-mysql8
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- USE_REPO_TEST_DIR: 1
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
----
-kind: pipeline
-type: docker
-name: testing-mssql
-
-platform:
- os: linux
- arch: amd64
-
-depends_on:
- - compliance
-
-trigger:
- event:
- - pull_request
- paths:
- exclude:
- - "docs/**"
-
-volumes:
- - name: deps
- temp: {}
-
-services:
- - name: mssql
- image: mcr.microsoft.com/mssql/server:latest
- pull: always
- environment:
- ACCEPT_EULA: Y
- MSSQL_PID: Standard
- SA_PASSWORD: MwantsaSecurePassword1
-
-steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-mssql
- image: gitea/test_env:linux-1.20-amd64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - make test-mssql-migration test-mssql
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata
- USE_REPO_TEST_DIR: 1
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
----
-kind: pipeline
-name: testing-sqlite
-
-platform:
- os: linux
- arch: arm64
-
-depends_on:
- - compliance
-
-trigger:
- event:
- - pull_request
- paths:
- exclude:
- - "docs/**"
-
-volumes:
- - name: deps
- temp: {}
-
-steps:
- - name: fetch-tags
- image: docker:git
- pull: always
- commands:
- - git fetch --tags --force
- when:
- event:
- exclude:
- - pull_request
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-arm64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- - name: prepare-test-env
- image: gitea/test_env:linux-1.20-arm64 # https://gitea.com/gitea/test-env
- pull: always
- commands:
- - ./build/test-env-prepare.sh
-
- - name: build
- image: gitea/test_env:linux-1.20-arm64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - ./build/test-env-check.sh
- - make backend
- environment:
- GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
- GOSUMDB: sum.golang.org
- TAGS: bindata gogit sqlite sqlite_unlock_notify
- depends_on: [deps-backend, prepare-test-env]
- volumes:
- - name: deps
- path: /go
-
- - name: test-sqlite
- image: gitea/test_env:linux-1.20-arm64 # https://gitea.com/gitea/test-env
- user: gitea
- commands:
- - timeout -s ABRT 50m make test-sqlite-migration test-sqlite
- environment:
- GOPROXY: https://goproxy.io
- TAGS: bindata gogit sqlite sqlite_unlock_notify
- RACE_ENABLED: true
- TEST_TAGS: gogit sqlite sqlite_unlock_notify
- USE_REPO_TEST_DIR: 1
- depends_on: [build]
- volumes:
- - name: deps
- path: /go
-
----
-kind: pipeline
-type: docker
-name: testing-e2e
-
-platform:
- os: linux
- arch: amd64
-
-depends_on:
- - compliance
-
-trigger:
- event:
- - pull_request
- paths:
- exclude:
- - "docs/**"
-
-volumes:
- - name: deps
- temp: {}
-
-steps:
- - name: deps-frontend
- image: node:18
- pull: always
- commands:
- - make deps-frontend
-
- - name: build-frontend
- image: node:18
- commands:
- - make frontend
- depends_on: [deps-frontend]
-
- - name: deps-backend
- image: gitea/test_env:linux-1.20-amd64
- pull: always
- commands:
- - make deps-backend
- volumes:
- - name: deps
- path: /go
-
- # TODO: We should probably build all dependencies into a test image
- - name: test-e2e
- image: mcr.microsoft.com/playwright:v1.32.3-focal
- commands:
- - apt-get -qq update && apt-get -qqy install jq build-essential
- - curl -fsSL "https://go.dev/dl/$(curl -s 'https://go.dev/dl/?mode=json' | jq -r '.[].version' | sort -Vr | head -1).linux-amd64.tar.gz" | tar -xz -C /usr/local
- - groupadd --gid 1001 gitea && useradd -m --gid 1001 --uid 1001 gitea
- - ./build/test-env-prepare.sh
- - su gitea bash -c "export PATH=$PATH:/usr/local/go/bin && timeout -s ABRT 40m make test-e2e-sqlite"
- environment:
- GOPROXY: https://goproxy.io
- GOSUMDB: sum.golang.org
- USE_REPO_TEST_DIR: 1
- DEBIAN_FRONTEND: noninteractive
- depends_on: [build-frontend, deps-backend]
- volumes:
- - name: deps
- path: /go
-
----
-kind: pipeline
-type: docker
name: release-latest
platform:
@@ -767,13 +21,6 @@ trigger:
exclude:
- "docs/**"
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
volumes:
- name: deps
temp: {}
@@ -902,13 +149,6 @@ trigger:
event:
- tag
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
volumes:
- name: deps
temp: {}
@@ -1013,22 +253,12 @@ platform:
os: linux
arch: amd64
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
trigger:
ref:
include:
- "refs/tags/**"
exclude:
- "refs/tags/**-rc*"
- event:
- exclude:
- - cron
paths:
exclude:
- "docs/**"
@@ -1093,19 +323,9 @@ platform:
os: linux
arch: amd64
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
trigger:
ref:
- "refs/tags/**-rc*"
- event:
- exclude:
- - cron
paths:
exclude:
- "docs/**"
@@ -1168,19 +388,9 @@ platform:
os: linux
arch: amd64
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
trigger:
ref:
- refs/heads/main
- event:
- exclude:
- - cron
steps:
- name: fetch-tags
@@ -1241,19 +451,9 @@ platform:
os: linux
arch: amd64
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
trigger:
ref:
- "refs/heads/release/v*"
- event:
- exclude:
- - cron
steps:
- name: fetch-tags
@@ -1315,22 +515,12 @@ platform:
os: linux
arch: arm64
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
trigger:
ref:
include:
- "refs/tags/**"
exclude:
- "refs/tags/**-rc*"
- event:
- exclude:
- - cron
paths:
exclude:
- "docs/**"
@@ -1395,19 +585,9 @@ platform:
os: linux
arch: arm64
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
trigger:
ref:
- "refs/tags/**-rc*"
- event:
- exclude:
- - cron
paths:
exclude:
- "docs/**"
@@ -1470,19 +650,9 @@ platform:
os: linux
arch: arm64
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
trigger:
ref:
- refs/heads/main
- event:
- exclude:
- - cron
paths:
exclude:
- "docs/**"
@@ -1546,19 +716,9 @@ platform:
os: linux
arch: arm64
-depends_on:
- - testing-mysql
- - testing-mysql8
- - testing-mssql
- - testing-pgsql
- - testing-sqlite
-
trigger:
ref:
- "refs/heads/release/v*"
- event:
- exclude:
- - cron
steps:
- name: fetch-tags
@@ -1647,9 +807,6 @@ steps:
trigger:
ref:
- "refs/tags/**"
- event:
- exclude:
- - cron
paths:
exclude:
- "docs/**"
@@ -1697,9 +854,6 @@ trigger:
ref:
- refs/heads/main
- "refs/heads/release/v*"
- event:
- exclude:
- - cron
paths:
exclude:
- "docs/**"