--- kind: pipeline name: testing steps: - name: test-vet image: golang:1.11 # The lowest golang requirement environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" commands: - make vet - make test - make fmt-check when: event: - push - pull_request - name: test-sqlite image: golang:1.12 environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" commands: - make test-sqlite - TEST_CACHE_ENABLE=true make test-sqlite - TEST_QUOTE_POLICY=reserved make test-sqlite when: event: - push - pull_request - name: test-mysql image: golang:1.12 environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" 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 when: event: - push - pull_request - name: test-mysql8 image: golang:1.12 environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" 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 when: event: - push - pull_request - name: test-mysql-utf8mb4 image: golang:1.12 depends_on: - test-mysql environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" 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 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" 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 when: event: - push - pull_request - name: test-mariadb image: golang:1.12 environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" 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 when: event: - push - pull_request - name: test-postgres pull: default image: golang:1.12 environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" 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 when: event: - push - pull_request - name: test-postgres-schema pull: default image: golang:1.12 depends_on: - test-postgres environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" 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 when: event: - push - pull_request - name: test-mssql pull: default image: golang:1.12 environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" 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 when: event: - push - pull_request - name: test-tidb pull: default image: golang:1.12 environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" 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 when: event: - push - pull_request - name: test-cockroach pull: default image: golang:1.13 environment: GO111MODULE: "on" GOPROXY: "https://goproxy.cn" 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 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-mysql8 - test-mymysql - test-postgres - test-postgres-schema - test-mssql - test-tidb - test-cockroach commands: - make coverage 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: mysql8 pull: default image: mysql:8.0 environment: MYSQL_ALLOW_EMPTY_PASSWORD: yes MYSQL_DATABASE: xorm_test when: event: - push - tag - pull_request - name: mariadb pull: default image: mariadb:10.4 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 POSTGRES_PASSWORD: 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 - name: cockroach pull: default image: cockroachdb/cockroach:v19.2.4 commands: - /cockroach/cockroach start --insecure when: event: - push - tag - pull_request