2018-09-07 03:08:43 +00:00
workspace :
base : /go
path : src/github.com/go-xorm/xorm
clone :
git :
image : plugins/git:next
depth : 50
tags : true
2018-09-28 06:01:54 +00:00
services :
mysql :
2018-09-28 02:18:09 +00:00
image : mysql:5.7
environment :
- MYSQL_DATABASE=xorm_test
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
when :
event : [ push, tag, pull_request ]
2018-09-28 06:01:54 +00:00
pgsql :
image : postgres:9.5
environment :
- POSTGRES_USER=postgres
- POSTGRES_DB=xorm_test
when :
event : [ push, tag, pull_request ]
2018-09-07 03:08:43 +00:00
2018-09-29 01:23:14 +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"
2018-09-29 01:01:45 +00:00
matrix :
GO_VERSION :
- 1.8
- 1.9
- 1.10
- 1.11
2018-09-28 02:18:09 +00:00
pipeline :
2018-10-05 14:41:32 +00:00
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-05 14:27:41 +00:00
build :
2018-09-29 01:01:45 +00:00
image : golang:${GO_VERSION}
2018-09-07 03:08:43 +00:00
commands :
- go get -t -d -v ./...
- go get -u github.com/go-xorm/core
- go get -u github.com/go-xorm/builder
- go build -v
2018-10-05 14:27:41 +00:00
when :
event : [ push, pull_request ]
test-sqlite :
image : golang:${GO_VERSION}
commands :
2018-09-28 02:18:09 +00:00
- 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-05 14:27:41 +00:00
when :
event : [ push, pull_request ]
test-mysql :
image : golang:${GO_VERSION}
commands :
2018-09-29 01:23:14 +00:00
- 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-05 14:27:41 +00:00
when :
event : [ push, pull_request ]
test-mymysql :
image : golang:${GO_VERSION}
commands :
2018-09-29 01:23:14 +00:00
- go test -v -race -db="mymysql" -conn_str="tcp:mysql*xorm_test/root/" -coverprofile=coverage3-1.txt -covermode=atomic
- go test -v -race -db="mymysql" -conn_str="tcp:mysql*xorm_test/root/" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic
2018-10-05 14:27:41 +00:00
when :
event : [ push, pull_request ]
test-postgres :
image : golang:${GO_VERSION}
commands :
2018-09-29 01:23:14 +00:00
- 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-05 14:27:41 +00:00
when :
event : [ push, pull_request ]
test-postgres-schema :
image : golang:${GO_VERSION}
commands :
2018-09-29 01:23:14 +00:00
- 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-09-29 01:01:45 +00:00
- gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt > coverage.txt
2018-09-07 03:08:43 +00:00
when :
event : [ push, pull_request ]
2018-09-29 01:01:45 +00:00
coverage :
image : robertstettner/drone-codecov
secrets : [ codecov_token ]
files :
- coverage.txt
2018-09-07 03:08:43 +00:00
when :
2018-09-28 02:18:09 +00:00
event : [ push, pull_request ]
2018-09-29 01:01:45 +00:00
branch : [ master ]