xorm/.drone.yml

452 lines
8.6 KiB
YAML

---
kind: pipeline
name: testing
steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- $GOPATH/pkg/mod
volumes:
- name: cache
path: /cache
- name: test-vet
image: golang:1.13 # The lowest golang requirement
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
commands:
- make vet
- make test
- make fmt-check
when:
event:
- push
- pull_request
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
name: test-sqlite
depends_on:
- testing
steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- $GOPATH/pkg/mod
volumes:
- name: cache
path: /cache
- name: test-sqlite
image: golang:1.13
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
commands:
- make test-sqlite
- TEST_CACHE_ENABLE=true make test-sqlite
- TEST_QUOTE_POLICY=reserved make test-sqlite
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
name: test-mysql
depends_on:
- test-sqlite
steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- $GOPATH/pkg/mod
volumes:
- name: cache
path: /cache
- name: test-mysql
image: golang:1.13
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_MYSQL_HOST: mysql
TEST_MYSQL_CHARSET: utf8
TEST_MYSQL_DBNAME: xorm_test
TEST_MYSQL_USERNAME: root
TEST_MYSQL_PASSWORD:
commands:
- make test-mysql
- TEST_CACHE_ENABLE=true make test-mysql
- TEST_QUOTE_POLICY=reserved make test-mysql
- name: test-mysql-utf8mb4
image: golang:1.13
depends_on:
- test-mysql
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_MYSQL_HOST: mysql
TEST_MYSQL_CHARSET: utf8mb4
TEST_MYSQL_DBNAME: xorm_test
TEST_MYSQL_USERNAME: root
TEST_MYSQL_PASSWORD:
commands:
- make test-mysql
- TEST_CACHE_ENABLE=true make test-mysql
- TEST_QUOTE_POLICY=reserved make test-mysql
- name: test-mymysql
pull: default
image: golang:1.13
depends_on:
- test-mysql-utf8mb4
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_MYSQL_HOST: mysql:3306
TEST_MYSQL_DBNAME: xorm_test
TEST_MYSQL_USERNAME: root
TEST_MYSQL_PASSWORD:
commands:
- make test-mymysql
- TEST_CACHE_ENABLE=true make test-mymysql
- TEST_QUOTE_POLICY=reserved make test-mymysql
services:
- name: mysql
pull: default
image: mysql:5.7
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: xorm_test
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
name: test-mysql8
depends_on:
- test-mysql
steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- $GOPATH/pkg/mod
volumes:
- name: cache
path: /cache
- name: test-mysql8
image: golang:1.13
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_MYSQL_HOST: mysql8
TEST_MYSQL_CHARSET: utf8mb4
TEST_MYSQL_DBNAME: xorm_test
TEST_MYSQL_USERNAME: root
TEST_MYSQL_PASSWORD:
commands:
- make test-mysql
- TEST_CACHE_ENABLE=true make test-mysql
- TEST_QUOTE_POLICY=reserved make test-mysql
services:
- name: mysql8
pull: default
image: mysql:8.0
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: xorm_test
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
name: test-mariadb
depends_on:
- test-mysql8
steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- $GOPATH/pkg/mod
volumes:
- name: cache
path: /cache
- name: test-mariadb
image: golang:1.13
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_MYSQL_HOST: mariadb
TEST_MYSQL_CHARSET: utf8mb4
TEST_MYSQL_DBNAME: xorm_test
TEST_MYSQL_USERNAME: root
TEST_MYSQL_PASSWORD:
commands:
- make test-mysql
- TEST_CACHE_ENABLE=true make test-mysql
- TEST_QUOTE_POLICY=reserved make test-mysql
services:
- name: mariadb
pull: default
image: mariadb:10.4
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: xorm_test
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
name: test-postgres
depends_on:
- test-mariadb
steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- $GOPATH/pkg/mod
volumes:
- name: cache
path: /cache
- name: test-postgres
pull: default
image: golang:1.13
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_PGSQL_HOST: pgsql
TEST_PGSQL_DBNAME: xorm_test
TEST_PGSQL_USERNAME: postgres
TEST_PGSQL_PASSWORD: postgres
commands:
- make test-postgres
- TEST_CACHE_ENABLE=true make test-postgres
- TEST_QUOTE_POLICY=reserved make test-postgres
- name: test-postgres-schema
pull: default
image: golang:1.13
depends_on:
- test-postgres
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_PGSQL_HOST: pgsql
TEST_PGSQL_SCHEMA: xorm
TEST_PGSQL_DBNAME: xorm_test
TEST_PGSQL_USERNAME: postgres
TEST_PGSQL_PASSWORD: postgres
commands:
- make test-postgres
- TEST_CACHE_ENABLE=true make test-postgres
- TEST_QUOTE_POLICY=reserved make test-postgres
services:
- name: pgsql
pull: default
image: postgres:9.5
environment:
POSTGRES_DB: xorm_test
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
name: test-mssql
depends_on:
- test-postgres
steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- $GOPATH/pkg/mod
volumes:
- name: cache
path: /cache
- name: test-mssql
pull: default
image: golang:1.13
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_MSSQL_HOST: mssql
TEST_MSSQL_DBNAME: xorm_test
TEST_MSSQL_USERNAME: sa
TEST_MSSQL_PASSWORD: "yourStrong(!)Password"
commands:
- make test-mssql
- TEST_CACHE_ENABLE=true make test-mssql
- TEST_QUOTE_POLICY=reserved make test-mssql
- TEST_MSSQL_DEFAULT_VARCHAR=NVARCHAR TEST_MSSQL_DEFAULT_CHAR=NCHAR make test-mssql
services:
- name: mssql
pull: default
image: microsoft/mssql-server-linux:latest
environment:
ACCEPT_EULA: Y
SA_PASSWORD: yourStrong(!)Password
MSSQL_PID: Developer
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
name: test-tidb
depends_on:
- test-mssql
steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- $GOPATH/pkg/mod
volumes:
- name: cache
path: /cache
- name: test-tidb
pull: default
image: golang:1.13
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_TIDB_HOST: "tidb:4000"
TEST_TIDB_DBNAME: xorm_test
TEST_TIDB_USERNAME: root
TEST_TIDB_PASSWORD:
commands:
- make test-tidb
- TEST_CACHE_ENABLE=true make test-tidb
- TEST_QUOTE_POLICY=reserved make test-tidb
services:
- name: tidb
pull: default
image: pingcap/tidb:v3.0.3
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
name: test-cockroach
depends_on:
- test-tidb
steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- $GOPATH/pkg/mod
volumes:
- name: cache
path: /cache
- name: test-cockroach
pull: default
image: golang:1.13
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
TEST_COCKROACH_HOST: "cockroach:26257"
TEST_COCKROACH_DBNAME: xorm_test
TEST_COCKROACH_USERNAME: root
TEST_COCKROACH_PASSWORD:
commands:
- sleep 10
- make test-cockroach
- TEST_CACHE_ENABLE=true make test-cockroach
services:
- name: cockroach
pull: default
image: cockroachdb/cockroach:v19.2.4
commands:
- /cockroach/cockroach start --insecure
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
name: merge_coverage
depends_on:
- testing
- test-sqlite
- test-mysql
- test-mysql8
- test-mariadb
- test-postgres
- test-mssql
- test-tidb
- test-cockroach
steps:
- name: merge_coverage
pull: default
image: golang:1.13
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.io"
commands:
- make coverage
when:
branch:
- master
event:
- push
- pull_request