2018-10-08 08:53:36 +00:00
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 ]
2018-10-10 14:21:02 +00:00
redis :
image : redis:3.0
2018-10-08 08:53:36 +00:00
#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;"
2018-10-10 14:21:02 +00:00
init_redis :
image : redis:3.0
commands :
- sleep 5
- redis-cli -h redis ping
- redis-cli -h redis set HELLO hello
- redis-cli -h redis get HELLO
2018-10-08 08:53:36 +00:00
build :
image : golang:${GO_VERSION}
commands :
- go get -t -d -v ./...
2019-06-17 05:38:13 +00:00
- go get -u xorm.io/core
- go get -u xorm.io/builder
2018-10-10 14:21:02 +00:00
- go get -u github.com/go-xorm/xorm-redis-cache
2018-10-08 08:53:36 +00:00
- 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
2018-10-10 14:21:02 +00:00
- go test -v -race -db="sqlite3" -conn_str="./test.db" -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage1-2.txt -covermode=atomic
2018-10-08 08:53:36 +00:00
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
2018-10-10 14:21:02 +00:00
- go test -v -race -db="mysql" -conn_str="root:@tcp(mysql)/xorm_test" -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage2-2.txt -covermode=atomic
2018-10-08 08:53:36 +00:00
when :
event : [ push, pull_request ]
2018-10-18 12:15:27 +00:00
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 ]
2018-10-08 08:53:36 +00:00
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
2018-10-10 14:21:02 +00:00
- go test -v -race -db="mymysql" -conn_str="tcp:mysql:3306*xorm_test/root/" -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage3-2.txt -covermode=atomic
2018-10-08 08:53:36 +00:00
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
2018-10-10 14:21:02 +00:00
- go test -v -race -db="postgres" -conn_str="postgres://postgres:@pgsql/xorm_test?sslmode=disable" -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage4-2.txt -covermode=atomic
2018-10-08 08:53:36 +00:00
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
2018-10-10 14:21:02 +00:00
- go test -v -race -db="postgres" -conn_str="postgres://postgres:@pgsql/xorm_test?sslmode=disable" -schema=xorm -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage5-2.txt -covermode=atomic
2018-10-18 12:15:27 +00:00
- 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
2018-10-08 08:53:36 +00:00
when :
event : [ push, pull_request ]
#coverage:
# image: robertstettner/drone-codecov
# secrets: [ codecov_token ]
# files:
# - coverage.txt
# when:
# event: [ push, pull_request ]
# branch: [ master ]