mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-10 04:05:42 +01:00
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>
This commit is contained in:
parent
ad8631c069
commit
f7f0782132
9 changed files with 428 additions and 853 deletions
846
.drone.yml
846
.drone.yml
|
@ -1,749 +1,3 @@
|
||||||
---
|
|
||||||
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
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
|
@ -767,13 +21,6 @@ trigger:
|
||||||
exclude:
|
exclude:
|
||||||
- "docs/**"
|
- "docs/**"
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: deps
|
- name: deps
|
||||||
temp: {}
|
temp: {}
|
||||||
|
@ -902,13 +149,6 @@ trigger:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: deps
|
- name: deps
|
||||||
temp: {}
|
temp: {}
|
||||||
|
@ -1013,22 +253,12 @@ platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
include:
|
include:
|
||||||
- "refs/tags/**"
|
- "refs/tags/**"
|
||||||
exclude:
|
exclude:
|
||||||
- "refs/tags/**-rc*"
|
- "refs/tags/**-rc*"
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
paths:
|
paths:
|
||||||
exclude:
|
exclude:
|
||||||
- "docs/**"
|
- "docs/**"
|
||||||
|
@ -1093,19 +323,9 @@ platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- "refs/tags/**-rc*"
|
- "refs/tags/**-rc*"
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
paths:
|
paths:
|
||||||
exclude:
|
exclude:
|
||||||
- "docs/**"
|
- "docs/**"
|
||||||
|
@ -1168,19 +388,9 @@ platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/main
|
- refs/heads/main
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: fetch-tags
|
- name: fetch-tags
|
||||||
|
@ -1241,19 +451,9 @@ platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- "refs/heads/release/v*"
|
- "refs/heads/release/v*"
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: fetch-tags
|
- name: fetch-tags
|
||||||
|
@ -1315,22 +515,12 @@ platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
include:
|
include:
|
||||||
- "refs/tags/**"
|
- "refs/tags/**"
|
||||||
exclude:
|
exclude:
|
||||||
- "refs/tags/**-rc*"
|
- "refs/tags/**-rc*"
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
paths:
|
paths:
|
||||||
exclude:
|
exclude:
|
||||||
- "docs/**"
|
- "docs/**"
|
||||||
|
@ -1395,19 +585,9 @@ platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- "refs/tags/**-rc*"
|
- "refs/tags/**-rc*"
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
paths:
|
paths:
|
||||||
exclude:
|
exclude:
|
||||||
- "docs/**"
|
- "docs/**"
|
||||||
|
@ -1470,19 +650,9 @@ platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/main
|
- refs/heads/main
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
paths:
|
paths:
|
||||||
exclude:
|
exclude:
|
||||||
- "docs/**"
|
- "docs/**"
|
||||||
|
@ -1546,19 +716,9 @@ platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- testing-mysql
|
|
||||||
- testing-mysql8
|
|
||||||
- testing-mssql
|
|
||||||
- testing-pgsql
|
|
||||||
- testing-sqlite
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- "refs/heads/release/v*"
|
- "refs/heads/release/v*"
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: fetch-tags
|
- name: fetch-tags
|
||||||
|
@ -1647,9 +807,6 @@ steps:
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- "refs/tags/**"
|
- "refs/tags/**"
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
paths:
|
paths:
|
||||||
exclude:
|
exclude:
|
||||||
- "docs/**"
|
- "docs/**"
|
||||||
|
@ -1697,9 +854,6 @@ trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/main
|
- refs/heads/main
|
||||||
- "refs/heads/release/v*"
|
- "refs/heads/release/v*"
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- cron
|
|
||||||
paths:
|
paths:
|
||||||
exclude:
|
exclude:
|
||||||
- "docs/**"
|
- "docs/**"
|
||||||
|
|
4
.github/workflows/cron-licenses.yml
vendored
4
.github/workflows/cron-licenses.yml
vendored
|
@ -1,10 +1,10 @@
|
||||||
|
name: "Cron: Update licenses and gitignores"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
# weekly on Monday at 0:07 UTC
|
# weekly on Monday at 0:07 UTC
|
||||||
- cron: "7 0 * * 1"
|
- cron: "7 0 * * 1"
|
||||||
|
|
||||||
name: Update licenses and gitignores
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
cron:
|
cron:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
4
.github/workflows/cron-translations.yml
vendored
4
.github/workflows/cron-translations.yml
vendored
|
@ -1,9 +1,9 @@
|
||||||
|
name: "Cron: Pull translations from Crowdin"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "7 0 * * *" # every day at 0:07 UTC
|
- cron: "7 0 * * *" # every day at 0:07 UTC
|
||||||
|
|
||||||
name: Pull translations from Crowdin
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
crowdin_pull:
|
crowdin_pull:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
133
.github/workflows/pull-compliance.yml
vendored
Normal file
133
.github/workflows/pull-compliance.yml
vendored
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
name: "Pull: Compliance Tests"
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint_basic:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20'
|
||||||
|
- name: deps-backend
|
||||||
|
run: make deps-backend deps-tools
|
||||||
|
- name: lint backend
|
||||||
|
run: make lint-backend
|
||||||
|
env:
|
||||||
|
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
|
||||||
|
lint_windows:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20'
|
||||||
|
- name: deps-backend
|
||||||
|
run: make deps-backend deps-tools
|
||||||
|
- name: lint-backend-windows
|
||||||
|
run: make lint-go-windows lint-go-vet
|
||||||
|
env:
|
||||||
|
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
|
||||||
|
lint_gogit:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20'
|
||||||
|
- name: deps-backend
|
||||||
|
run: make deps-backend deps-tools
|
||||||
|
- name: lint-backend-gogit
|
||||||
|
run: make lint-backend
|
||||||
|
env:
|
||||||
|
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
|
||||||
|
- name: checks backend
|
||||||
|
run: make --always-make checks-backend # ensure the 'go-licenses' make target runs
|
||||||
|
check_backend:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20'
|
||||||
|
- name: deps-backend
|
||||||
|
run: make deps-backend deps-tools
|
||||||
|
- name: checks backend
|
||||||
|
run: make --always-make checks-backend # ensure the 'go-licenses' make target runs
|
||||||
|
frontend:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup node
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
- name: deps-frontend
|
||||||
|
run: make deps-frontend
|
||||||
|
- name: lint frontend
|
||||||
|
run: make lint-frontend
|
||||||
|
- name: checks frontend
|
||||||
|
run: make checks-frontend
|
||||||
|
- name: test frontend
|
||||||
|
run: make test-frontend
|
||||||
|
backend:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20'
|
||||||
|
- name: setup node
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
- name: deps-backend
|
||||||
|
run: make deps-backend deps-tools
|
||||||
|
- name: deps-frontend
|
||||||
|
run: make deps-frontend
|
||||||
|
- name: build frontend
|
||||||
|
run: make frontend
|
||||||
|
- name: build-backend-no-gcc
|
||||||
|
run: go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
- name: build-backend-arm64
|
||||||
|
run: make backend # test cross compile
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOOS: linux
|
||||||
|
GOARCH: arm64
|
||||||
|
TAGS: bindata gogit
|
||||||
|
- name: build-backend-windows
|
||||||
|
run: go build -o gitea_windows
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOOS: windows
|
||||||
|
GOARCH: amd64
|
||||||
|
TAGS: bindata gogit
|
||||||
|
- name: build-backend-386
|
||||||
|
run: go build -o gitea_linux_386 # test if compatible with 32 bit
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOOS: linux
|
||||||
|
GOARCH: 386
|
2
.github/workflows/pull-compliance_docs.yml
vendored
2
.github/workflows/pull-compliance_docs.yml
vendored
|
@ -1,4 +1,4 @@
|
||||||
name: Compliance testing for documentation
|
name: "Pull: Compliance testing for documentation"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
260
.github/workflows/pull-db_test.yml
vendored
Normal file
260
.github/workflows/pull-db_test.yml
vendored
Normal file
|
@ -0,0 +1,260 @@
|
||||||
|
name: "Pull: Database Tests"
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# PostgreSQL Tests
|
||||||
|
db_pgsql_test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
pgsql:
|
||||||
|
image: postgres:15
|
||||||
|
env:
|
||||||
|
POSTGRES_DB: test
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
ldap:
|
||||||
|
image: gitea/test-openldap:latest
|
||||||
|
ports:
|
||||||
|
- "389:389"
|
||||||
|
- "636:636"
|
||||||
|
minio:
|
||||||
|
# as github actions doesn't support "entrypoint", we need to use a non-official image
|
||||||
|
# that has a custom entrypoint set to "minio server /data"
|
||||||
|
image: bitnami/minio:2021.3.17
|
||||||
|
env:
|
||||||
|
MINIO_ACCESS_KEY: 123456
|
||||||
|
MINIO_SECRET_KEY: 12345678
|
||||||
|
ports:
|
||||||
|
- "9000:9000"
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20.0'
|
||||||
|
- name: Add hosts to /etc/hosts
|
||||||
|
run: echo "127.0.0.1 pgsql ldap minio" | sudo tee -a /etc/hosts
|
||||||
|
- name: install dependencies
|
||||||
|
run: make deps-backend
|
||||||
|
- name: build
|
||||||
|
run: make backend
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOSUMDB: sum.golang.org
|
||||||
|
TAGS: bindata
|
||||||
|
- name: run tests
|
||||||
|
run: timeout -s ABRT 50m make test-pgsql-migration test-pgsql
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
TAGS: bindata gogit
|
||||||
|
RACE_ENABLED: true
|
||||||
|
TEST_TAGS: gogit
|
||||||
|
TEST_LDAP: 1
|
||||||
|
USE_REPO_TEST_DIR: 1
|
||||||
|
|
||||||
|
# SQLite Tests
|
||||||
|
db_sqlite_test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20.0'
|
||||||
|
- name: install dependencies
|
||||||
|
run: make deps-backend
|
||||||
|
- name: build
|
||||||
|
run: make backend
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOSUMDB: sum.golang.org
|
||||||
|
TAGS: bindata gogit sqlite sqlite_unlock_notify
|
||||||
|
- name: run tests
|
||||||
|
run: timeout -s ABRT 50m make test-sqlite-migration test-sqlite
|
||||||
|
env:
|
||||||
|
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
|
||||||
|
|
||||||
|
# Unit Tests
|
||||||
|
db_unit_tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:5.7
|
||||||
|
env:
|
||||||
|
MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
||||||
|
MYSQL_DATABASE: test
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
elasticsearch:
|
||||||
|
image: elasticsearch:7.5.0
|
||||||
|
env:
|
||||||
|
discovery.type: single-node
|
||||||
|
ports:
|
||||||
|
- "9200:9200"
|
||||||
|
smtpimap:
|
||||||
|
image: tabascoterrier/docker-imap-devel:latest
|
||||||
|
ports:
|
||||||
|
- "25:25"
|
||||||
|
- "143:143"
|
||||||
|
- "587:587"
|
||||||
|
- "993:993"
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20.0'
|
||||||
|
- name: Add hosts to /etc/hosts
|
||||||
|
run: echo "127.0.0.1 mysql elasticsearch smtpimap" | sudo tee -a /etc/hosts
|
||||||
|
- name: install dependencies
|
||||||
|
run: make deps-backend
|
||||||
|
- name: build
|
||||||
|
run: make backend
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOSUMDB: sum.golang.org
|
||||||
|
TAGS: bindata
|
||||||
|
- name: unit tests
|
||||||
|
run: make unit-test-coverage test-check
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
TAGS: bindata
|
||||||
|
RACE_ENABLED: true
|
||||||
|
GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }}
|
||||||
|
- name: unit tests (gogit)
|
||||||
|
run: make unit-test-coverage test-check
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
TAGS: bindata gogit
|
||||||
|
RACE_ENABLED: true
|
||||||
|
GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }}
|
||||||
|
|
||||||
|
# MySQL Tests
|
||||||
|
db_mysql_test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:5.7
|
||||||
|
env:
|
||||||
|
MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
||||||
|
MYSQL_DATABASE: test
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
elasticsearch:
|
||||||
|
image: elasticsearch:7.5.0
|
||||||
|
env:
|
||||||
|
discovery.type: single-node
|
||||||
|
ports:
|
||||||
|
- "9200:9200"
|
||||||
|
smtpimap:
|
||||||
|
image: tabascoterrier/docker-imap-devel:latest
|
||||||
|
ports:
|
||||||
|
- "25:25"
|
||||||
|
- "143:143"
|
||||||
|
- "587:587"
|
||||||
|
- "993:993"
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20.0'
|
||||||
|
- name: Add hosts to /etc/hosts
|
||||||
|
run: echo "127.0.0.1 mysql elasticsearch smtpimap" | sudo tee -a /etc/hosts
|
||||||
|
- name: install dependencies
|
||||||
|
run: make deps-backend
|
||||||
|
- name: build
|
||||||
|
run: make backend
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOSUMDB: sum.golang.org
|
||||||
|
TAGS: bindata
|
||||||
|
- name: run tests
|
||||||
|
run: make test-mysql-migration integration-test-coverage
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
TAGS: bindata
|
||||||
|
RACE_ENABLED: true
|
||||||
|
USE_REPO_TEST_DIR: 1
|
||||||
|
TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200"
|
||||||
|
|
||||||
|
# MySQL8 Tests
|
||||||
|
db_mysql8_test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
mysql8:
|
||||||
|
image: mysql:8
|
||||||
|
env:
|
||||||
|
MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
||||||
|
MYSQL_DATABASE: testgitea
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20.0'
|
||||||
|
- name: Add hosts to /etc/hosts
|
||||||
|
run: echo "127.0.0.1 mysql8" | sudo tee -a /etc/hosts
|
||||||
|
- name: install dependencies
|
||||||
|
run: make deps-backend
|
||||||
|
- name: build
|
||||||
|
run: make backend
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOSUMDB: sum.golang.org
|
||||||
|
TAGS: bindata
|
||||||
|
- name: run tests
|
||||||
|
run: timeout -s ABRT 50m make test-mysql8-migration test-mysql8
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
TAGS: bindata
|
||||||
|
USE_REPO_TEST_DIR: 1
|
||||||
|
|
||||||
|
# MSSQL Tests
|
||||||
|
db_mssql_test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
mssql:
|
||||||
|
image: mcr.microsoft.com/mssql/server:latest
|
||||||
|
env:
|
||||||
|
ACCEPT_EULA: Y
|
||||||
|
MSSQL_PID: Standard
|
||||||
|
SA_PASSWORD: MwantsaSecurePassword1
|
||||||
|
ports:
|
||||||
|
- "1433:1433"
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20.0'
|
||||||
|
- name: Add hosts to /etc/hosts
|
||||||
|
run: echo "127.0.0.1 mssql" | sudo tee -a /etc/hosts
|
||||||
|
- name: install dependencies
|
||||||
|
run: make deps-backend
|
||||||
|
- name: build
|
||||||
|
run: make backend
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOSUMDB: sum.golang.org
|
||||||
|
TAGS: bindata
|
||||||
|
- name: run tests
|
||||||
|
run: timeout -s ABRT 50m make test-mssql-migration test-mssql
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
TAGS: bindata
|
||||||
|
USE_REPO_TEST_DIR: 1
|
2
.github/workflows/pull-docker_dryrun.yml
vendored
2
.github/workflows/pull-docker_dryrun.yml
vendored
|
@ -1,4 +1,4 @@
|
||||||
name: Docker build dry run
|
name: "Pull: Docker Dry Run"
|
||||||
|
|
||||||
on: [pull_request]
|
on: [pull_request]
|
||||||
|
|
||||||
|
|
28
.github/workflows/pull-e2e.yml
vendored
Normal file
28
.github/workflows/pull-e2e.yml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
name: "Pull: E2E Tests"
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
e2e_tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20'
|
||||||
|
- name: setup node
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
- name: build
|
||||||
|
run: make deps-frontend frontend deps-backend
|
||||||
|
- name: Install playwright browsers
|
||||||
|
run: npx playwright install --with-deps
|
||||||
|
- name: run tests
|
||||||
|
run: timeout -s ABRT 40m make test-e2e-sqlite
|
||||||
|
env:
|
||||||
|
GOPROXY: https://goproxy.io
|
||||||
|
GOSUMDB: sum.golang.org
|
||||||
|
USE_REPO_TEST_DIR: 1
|
2
.github/workflows/push-publish_docs.yml
vendored
2
.github/workflows/push-publish_docs.yml
vendored
|
@ -1,4 +1,4 @@
|
||||||
name: Publish documentation
|
name: "Docs: Publish"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
|
Loading…
Reference in a new issue