mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-09-12 09:51:19 +02:00
* Add support for database schema * Require setting search_path for the db user * Add schema setting to admin/config.tmpl * Use a schema different from default for psql tests * Update postgres scripts to use custom schema * Update to xorm/core 0.7.3 and xorm/xorm c37aff9b3a * Fix migration test Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
204 lines
5.6 KiB
YAML
204 lines
5.6 KiB
YAML
---
|
|
kind: pipeline
|
|
name: testing
|
|
steps:
|
|
- name: test-vet
|
|
pull: default
|
|
image: golang:1.12
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
commands:
|
|
- go vet
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
- name: test-sqlite
|
|
pull: default
|
|
image: golang:1.12
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
commands:
|
|
- "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -coverprofile=coverage1-1.txt -covermode=atomic"
|
|
- "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic"
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
- name: test-mysql
|
|
pull: default
|
|
image: golang:1.12
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
commands:
|
|
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test\" -coverprofile=coverage2-1.txt -covermode=atomic"
|
|
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test\" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic"
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
- name: test-mysql-utf8mb4
|
|
pull: default
|
|
image: golang:1.12
|
|
depends_on:
|
|
- test-mysql
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
commands:
|
|
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test?charset=utf8mb4\" -coverprofile=coverage2.1-1.txt -covermode=atomic"
|
|
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test?charset=utf8mb4\" -cache=true -coverprofile=coverage2.1-2.txt -covermode=atomic"
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
- name: test-mymysql
|
|
pull: default
|
|
image: golang:1.12
|
|
depends_on:
|
|
- test-mysql-utf8mb4
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
commands:
|
|
- "go test -v -race -db=\"mymysql\" -conn_str=\"tcp:mysql:3306*xorm_test/root/\" -coverprofile=coverage3-1.txt -covermode=atomic"
|
|
- "go test -v -race -db=\"mymysql\" -conn_str=\"tcp:mysql:3306*xorm_test/root/\" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic"
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
- name: test-postgres
|
|
pull: default
|
|
image: golang:1.12
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
commands:
|
|
- "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -coverprofile=coverage4-1.txt -covermode=atomic"
|
|
- "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -cache=true -coverprofile=coverage4-2.txt -covermode=atomic"
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
- name: test-postgres-schema
|
|
pull: default
|
|
image: golang:1.12
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
commands:
|
|
- "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -schema=xorm -coverprofile=coverage5-1.txt -covermode=atomic"
|
|
- "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -schema=xorm -cache=true -coverprofile=coverage5-2.txt -covermode=atomic"
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
- name: test-mssql
|
|
pull: default
|
|
image: golang:1.12
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
commands:
|
|
- "go test -v -race -db=\"mssql\" -conn_str=\"server=mssql;user id=sa;password=yourStrong(!)Password;database=xorm_test\" -coverprofile=coverage6-1.txt -covermode=atomic"
|
|
- "go test -v -race -db=\"mssql\" -conn_str=\"server=mssql;user id=sa;password=yourStrong(!)Password;database=xorm_test\" -cache=true -coverprofile=coverage6-2.txt -covermode=atomic"
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
- name: test-tidb
|
|
pull: default
|
|
image: golang:1.12
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
commands:
|
|
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -coverprofile=coverage7-1.txt -covermode=atomic"
|
|
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -cache=true -coverprofile=coverage7-2.txt -covermode=atomic"
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
- name: merge_coverage
|
|
pull: default
|
|
image: golang:1.12
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GOPROXY: "https://goproxy.cn"
|
|
depends_on:
|
|
- test-vet
|
|
- test-sqlite
|
|
- test-mysql
|
|
- test-mysql-utf8mb4
|
|
- test-mymysql
|
|
- test-postgres
|
|
- test-postgres-schema
|
|
- test-mssql
|
|
- test-tidb
|
|
commands:
|
|
- go get github.com/wadey/gocovmerge
|
|
- gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage2.1-1.txt coverage2.1-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt coverage6-1.txt coverage6-2.txt coverage7-1.txt coverage7-2.txt > coverage.txt
|
|
when:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
services:
|
|
|
|
- name: mysql
|
|
pull: default
|
|
image: mysql:5.7
|
|
environment:
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
|
MYSQL_DATABASE: xorm_test
|
|
when:
|
|
event:
|
|
- push
|
|
- tag
|
|
- pull_request
|
|
|
|
- name: pgsql
|
|
pull: default
|
|
image: postgres:9.5
|
|
environment:
|
|
POSTGRES_DB: xorm_test
|
|
POSTGRES_USER: postgres
|
|
when:
|
|
event:
|
|
- push
|
|
- tag
|
|
- pull_request
|
|
|
|
- name: mssql
|
|
pull: default
|
|
image: microsoft/mssql-server-linux:latest
|
|
environment:
|
|
ACCEPT_EULA: Y
|
|
SA_PASSWORD: yourStrong(!)Password
|
|
MSSQL_PID: Developer
|
|
when:
|
|
event:
|
|
- push
|
|
- tag
|
|
- pull_request
|
|
|
|
- name: tidb
|
|
pull: default
|
|
image: pingcap/tidb:v3.0.3
|
|
when:
|
|
event:
|
|
- push
|
|
- tag
|
|
- pull_request |