language: go
env:
  - GOMAXPROCS=4 GORACE=halt_on_error=1
matrix:
  include:
    - go: 1.10.x
      install:
        - go get github.com/stretchr/testify/assert
        - go get golang.org/x/crypto/ssh/terminal
        - go get golang.org/x/sys/unix
        - go get golang.org/x/sys/windows
      script:
        - go test -race -v ./...
    - go: 1.11.x
      env: GO111MODULE=on
      install:
        - go mod download
      script:
        - go test -race -v ./...
    - go: 1.11.x
      env: GO111MODULE=off
      install:
        - go get github.com/stretchr/testify/assert
        - go get golang.org/x/crypto/ssh/terminal
        - go get golang.org/x/sys/unix
        - go get golang.org/x/sys/windows
      script:
        - go test -race -v ./...
    - go: 1.10.x
      install:
        - go get github.com/stretchr/testify/assert
        - go get golang.org/x/crypto/ssh/terminal
        - go get golang.org/x/sys/unix
        - go get golang.org/x/sys/windows
      script:
        - go test -race -v -tags appengine ./...
    - go: 1.11.x
      env: GO111MODULE=on
      install:
        - go mod download
      script:
        - go test -race -v -tags appengine ./...
    - go: 1.11.x
      env: GO111MODULE=off
      install:
        - go get github.com/stretchr/testify/assert
        - go get golang.org/x/crypto/ssh/terminal
        - go get golang.org/x/sys/unix
        - go get golang.org/x/sys/windows
      script:
        - go test -race -v -tags appengine ./...