---
kind: pipeline
name: go1.10

platform:
  os: linux
  arch: amd64

clone:
  disable: true

workspace:
  base: /go
  path: src/xorm.io/core

steps:
- name: git
  pull: default
  image: plugins/git:next
  settings:
    depth: 50
    tags: true

- name: test
  pull: default
  image: golang:1.10
  commands:
  - go get github.com/stretchr/testify/assert
  - go get github.com/go-xorm/sqlfiddle
  - go get github.com/go-sql-driver/mysql
  - go get github.com/mattn/go-sqlite3
  - go vet
  - "go test -v -race -coverprofile=coverage.txt -covermode=atomic -dbConn=\"root:@tcp(mysql:3306)/core_test?charset=utf8mb4\""
  when:
    event:
    - push
    - tag
    - pull_request

services:
- name: mysql
  pull: default
  image: mysql:5.7
  environment:
    MYSQL_ALLOW_EMPTY_PASSWORD: yes
    MYSQL_DATABASE: core_test
  when:
    event:
    - push
    - tag
    - pull_request

---
kind: pipeline
name: go1.11

platform:
  os: linux
  arch: amd64

clone:
  disable: true

workspace:
  base: /go
  path: src/xorm.io/core

steps:
- name: git
  pull: default
  image: plugins/git:next
  settings:
    depth: 50
    tags: true

- name: test
  pull: default
  image: golang:1.11
  commands:
  - go vet
  - "go test -v -race -coverprofile=coverage.txt -covermode=atomic -dbConn=\"root:@tcp(mysql:3306)/core_test?charset=utf8mb4\""
  environment:
    GO111MODULE: "on"
    GOPROXY: https://goproxy.cn
  when:
    event:
    - push
    - tag
    - pull_request

services:
- name: mysql
  pull: default
  image: mysql:5.7
  environment:
    MYSQL_ALLOW_EMPTY_PASSWORD: yes
    MYSQL_DATABASE: core_test
  when:
    event:
    - push
    - tag
    - pull_request

---
kind: pipeline
name: go1.12

platform:
  os: linux
  arch: amd64

clone:
  disable: true

workspace:
  base: /go
  path: src/xorm.io/core

steps:
- name: git
  pull: default
  image: plugins/git:next
  settings:
    depth: 50
    tags: true

- name: test
  pull: default
  image: golang:1.12
  commands:
  - go vet
  - "go test -v -race -coverprofile=coverage.txt -covermode=atomic -dbConn=\"root:@tcp(mysql:3306)/core_test?charset=utf8mb4\""
  environment:
    GO111MODULE: "on"
    GOPROXY: https://goproxy.cn
  when:
    event:
    - push
    - tag
    - pull_request

services:
- name: mysql
  pull: default
  image: mysql:5.7
  environment:
    MYSQL_ALLOW_EMPTY_PASSWORD: yes
    MYSQL_DATABASE: core_test
  when:
    event:
    - push
    - tag
    - pull_request