123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- workspace:
- base: /go
- path: src/github.com/go-xorm/xorm
-
- clone:
- git:
- image: plugins/git:next
- depth: 50
- tags: true
-
- services:
- mysql:
- image: mysql:5.7
- environment:
- - MYSQL_DATABASE=xorm_test
- - MYSQL_ALLOW_EMPTY_PASSWORD=yes
- when:
- event: [ push, tag, pull_request ]
-
- pgsql:
- image: postgres:9.5
- environment:
- - POSTGRES_USER=postgres
- - POSTGRES_DB=xorm_test
- when:
- event: [ push, tag, pull_request ]
-
- #mssql:
- # image: microsoft/mssql-server-linux:2017-CU11
- # environment:
- # - ACCEPT_EULA=Y
- # - SA_PASSWORD=yourStrong(!)Password
- # - MSSQL_PID=Developer
- # commands:
- # - echo 'CREATE DATABASE xorm_test' > create.sql
- # - /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P yourStrong(!)Password -i "create.sql"
-
- matrix:
- GO_VERSION:
- - 1.8
- - 1.9
- - 1.10
- - 1.11
-
- pipeline:
- init_postgres:
- image: postgres:9.5
- commands:
- # wait for postgres service to become available
- - |
- until psql -U postgres -d xorm_test -h pgsql \
- -c "SELECT 1;" >/dev/null 2>&1; do sleep 1; done
- # query the database
- - |
- psql -U postgres -d xorm_test -h pgsql \
- -c "create schema xorm;"
-
- build:
- image: golang:${GO_VERSION}
- commands:
- - go get -t -d -v ./...
- - go get -u xorm.io/core
- - go get -u xorm.io/builder
- - go build -v
- when:
- event: [ push, pull_request ]
-
- test-sqlite:
- image: golang:${GO_VERSION}
- commands:
- - go get -u github.com/wadey/gocovmerge
- - 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 ]
-
- test-mysql:
- image: golang:${GO_VERSION}
- 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 ]
-
- test-mysql-utf8mb4:
- image: golang:${GO_VERSION}
- 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 ]
-
- test-mymysql:
- image: golang:${GO_VERSION}
- 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 ]
-
- test-postgres:
- image: golang:${GO_VERSION}
- 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 ]
-
- test-postgres-schema:
- image: golang:${GO_VERSION}
- 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
- - 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 > coverage.txt
- when:
- event: [ push, pull_request ]
-
- #coverage:
- # image: robertstettner/drone-codecov
- # secrets: [ codecov_token ]
- # files:
- # - coverage.txt
- # when:
- # event: [ push, pull_request ]
- # branch: [ master ]
|