From ec8016b75358f4cdcb4cf1010dd0cd2487bd51d3 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 7 Aug 2019 22:20:45 +0800 Subject: [PATCH 1/4] use drone new format --- .drone.yml | 493 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 388 insertions(+), 105 deletions(-) diff --git a/.drone.yml b/.drone.yml index be978458..9c8b9737 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,124 +1,407 @@ +--- +kind: pipeline +name: matrix-1 + +platform: + os: linux + arch: amd64 + +clone: + disable: true + workspace: base: /go path: src/github.com/go-xorm/xorm -clone: - git: - image: plugins/git:next +steps: +- name: git + pull: default + image: plugins/git:next + settings: depth: 50 tags: true +- name: init_postgres + pull: default + image: postgres:9.5 + commands: + - "until psql -U postgres -d xorm_test -h pgsql \\\n -c \"SELECT 1;\" >/dev/null 2>&1; do sleep 1; done\n" + - "psql -U postgres -d xorm_test -h pgsql \\\n -c \"create schema xorm;\"\n" + +- name: build + pull: default + image: golang:1.10 + 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 + +- name: test-sqlite + pull: default + image: golang:1.10 + 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 + +- name: test-mysql + pull: default + image: golang:1.10 + 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 + +- name: test-mysql-utf8mb4 + pull: default + image: golang:1.10 + 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 + +- name: test-mymysql + pull: default + image: golang:1.10 + 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 + +- name: test-postgres + pull: default + image: golang:1.10 + 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 + +- name: test-postgres-schema + pull: default + image: golang:1.10 + 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 + services: - mysql: - image: mysql:5.7 - environment: - - MYSQL_DATABASE=xorm_test - - MYSQL_ALLOW_EMPTY_PASSWORD=yes - when: - event: [ push, tag, pull_request ] +- name: mysql + pull: default + image: mysql:5.7 + environment: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: xorm_test + 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 ] +- name: pgsql + pull: default + image: postgres:9.5 + environment: + POSTGRES_DB: xorm_test + POSTGRES_USER: postgres + 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" +--- +kind: pipeline +name: matrix-2 -matrix: - GO_VERSION: - - 1.10 - - 1.11 - - 1.12 +platform: + os: linux + arch: amd64 -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;" +clone: + disable: true - 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 ] +workspace: + base: /go + path: src/github.com/go-xorm/xorm - 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 ] +steps: +- name: git + pull: default + image: plugins/git:next + settings: + depth: 50 + tags: true - 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 ] +- name: init_postgres + pull: default + image: postgres:9.5 + commands: + - "until psql -U postgres -d xorm_test -h pgsql \\\n -c \"SELECT 1;\" >/dev/null 2>&1; do sleep 1; done\n" + - "psql -U postgres -d xorm_test -h pgsql \\\n -c \"create schema xorm;\"\n" - 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 ] +- name: build + pull: default + image: golang:1.11 + 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-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 ] +- name: test-sqlite + pull: default + image: golang:1.11 + 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-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 ] +- name: test-mysql + pull: default + image: golang:1.11 + 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 - #coverage: - # image: robertstettner/drone-codecov - # secrets: [ codecov_token ] - # files: - # - coverage.txt - # when: - # event: [ push, pull_request ] - # branch: [ master ] \ No newline at end of file +- name: test-mysql-utf8mb4 + pull: default + image: golang:1.11 + 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 + +- name: test-mymysql + pull: default + image: golang:1.11 + 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 + +- name: test-postgres + pull: default + image: golang:1.11 + 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 + +- name: test-postgres-schema + pull: default + image: golang:1.11 + 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 + +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: pgsql + pull: default + image: postgres:9.5 + environment: + POSTGRES_DB: xorm_test + POSTGRES_USER: postgres + when: + event: + - push + - tag + - pull_request + +--- +kind: pipeline +name: matrix-3 + +platform: + os: linux + arch: amd64 + +clone: + disable: true + +workspace: + base: /go + path: src/github.com/go-xorm/xorm + +steps: +- name: git + pull: default + image: plugins/git:next + settings: + depth: 50 + tags: true + +- name: init_postgres + pull: default + image: postgres:9.5 + commands: + - "until psql -U postgres -d xorm_test -h pgsql \\\n -c \"SELECT 1;\" >/dev/null 2>&1; do sleep 1; done\n" + - "psql -U postgres -d xorm_test -h pgsql \\\n -c \"create schema xorm;\"\n" + +- name: build + pull: default + image: golang:1.12 + 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 + +- name: test-sqlite + pull: default + image: golang:1.12 + 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 + +- name: test-mysql + pull: default + image: golang:1.12 + 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 + +- name: test-mysql-utf8mb4 + pull: default + image: golang:1.12 + 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 + +- name: test-mymysql + pull: default + image: golang:1.12 + 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 + +- name: test-postgres + pull: default + image: golang:1.12 + 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 + +- name: test-postgres-schema + pull: default + image: golang:1.12 + 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 + +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: pgsql + pull: default + image: postgres:9.5 + environment: + POSTGRES_DB: xorm_test + POSTGRES_USER: postgres + when: + event: + - push + - tag + - pull_request \ No newline at end of file -- 2.40.1 From 93ec44a859eb867750cada6ab934a827d633c94d Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 7 Aug 2019 22:28:42 +0800 Subject: [PATCH 2/4] add goproxy --- .drone.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.drone.yml b/.drone.yml index 9c8b9737..01d169d1 100644 --- a/.drone.yml +++ b/.drone.yml @@ -168,10 +168,8 @@ steps: pull: default image: golang:1.11 commands: - - go get -t -d -v ./... - - go get -u xorm.io/core - - go get -u xorm.io/builder - - go build -v + - GO111MODULE=off go build -v + - GO111MODULE=on go build -v when: event: - push @@ -303,11 +301,11 @@ steps: - name: build pull: default image: golang:1.12 + environment: + GOPROXY: "https://goproxy.cn" commands: - - go get -t -d -v ./... - - go get -u xorm.io/core - - go get -u xorm.io/builder - - go build -v + - GO111MODULE=off go build -v + - GO111MODULE=on go build -v when: event: - push -- 2.40.1 From ffe819435f670a72a78ca5e8a0ab7bc4251b44e4 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 7 Aug 2019 22:34:27 +0800 Subject: [PATCH 3/4] two go mod build --- .drone.yml | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 01d169d1..c41c3af6 100644 --- a/.drone.yml +++ b/.drone.yml @@ -168,7 +168,19 @@ steps: pull: default image: golang:1.11 commands: + - go get -u -v - GO111MODULE=off go build -v + when: + event: + - push + - pull_request + +- name: build-gomod + pull: default + image: golang:1.11 + environment: + GOPROXY: "https://goproxy.cn" + commands: - GO111MODULE=on go build -v when: event: @@ -299,12 +311,22 @@ steps: - "psql -U postgres -d xorm_test -h pgsql \\\n -c \"create schema xorm;\"\n" - name: build + pull: default + image: golang:1.12 + commands: + - go get -u -v + - GO111MODULE=off go build -v + when: + event: + - push + - pull_request + +- name: build-gomod pull: default image: golang:1.12 environment: GOPROXY: "https://goproxy.cn" commands: - - GO111MODULE=off go build -v - GO111MODULE=on go build -v when: event: -- 2.40.1 From 6a4c538561c3ed24e3434267f74d18e4b036c1e7 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 7 Aug 2019 22:46:33 +0800 Subject: [PATCH 4/4] fix drone --- .drone.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index c41c3af6..94ba92e6 100644 --- a/.drone.yml +++ b/.drone.yml @@ -168,7 +168,9 @@ steps: pull: default image: golang:1.11 commands: - - go get -u -v + - go get -t -d -v ./... + - go get -u xorm.io/core + - go get -u xorm.io/builder - GO111MODULE=off go build -v when: event: @@ -314,7 +316,9 @@ steps: pull: default image: golang:1.12 commands: - - go get -u -v + - go get -t -d -v ./... + - go get -u xorm.io/core + - go get -u xorm.io/builder - GO111MODULE=off go build -v when: event: -- 2.40.1