diff --git a/.travis.yml b/.travis.yml index 46e70cb..ac1d7e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,19 +1,147 @@ language: go -sudo: required -dist: trusty + +os: + - linux + - osx + +addons: + apt: + update: true + env: - - GOTAGS= - - GOTAGS=libsqlite3 - - GOTAGS=trace - - GOTAGS=vtable + matrix: + - GOTAGS= + - GOTAGS=libsqlite3 + - GOTAGS=trace + - GOTAGS=vtable + go: - 1.7.x - 1.8.x - 1.9.x + - 1.10.x - master + +matrix: + allow_failures: + - go: master + exclude: + - os: osx + go: 1.7.x + include: + - os: linux + go: 1.7.x + env: GOTAGS= GOOS=windows GOARCH=386 + - os: linux + go: 1.7.x + env: GOTAGS= GOOS=windows GOARCH=amd64 + - os: linux + go: 1.7.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=386 + - os: linux + go: 1.7.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=amd64 + - os: linux + go: 1.7.x + env: GOTAGS=trace GOOS=windows GOARCH=386 + - os: linux + go: 1.7.x + env: GOTAGS=trace GOOS=windows GOARCH=amd64 + - os: linux + go: 1.7.x + env: GOTAGS=vtable GOOS=windows GOARCH=386 + - os: linux + go: 1.7.x + env: GOTAGS=vtable GOOS=windows GOARCH=amd64 + - os: linux + go: 1.8.x + env: GOTAGS= GOOS=windows GOARCH=386 + - os: linux + go: 1.8.x + env: GOTAGS= GOOS=windows GOARCH=amd64 + - os: linux + go: 1.8.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=386 + - os: linux + go: 1.8.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=amd64 + - os: linux + go: 1.8.x + env: GOTAGS=trace GOOS=windows GOARCH=386 + - os: linux + go: 1.8.x + env: GOTAGS=trace GOOS=windows GOARCH=amd64 + - os: linux + go: 1.8.x + env: GOTAGS=vtable GOOS=windows GOARCH=386 + - os: linux + go: 1.8.x + env: GOTAGS=vtable GOOS=windows GOARCH=amd64 + - os: linux + go: 1.9.x + env: GOTAGS= GOOS=windows GOARCH=386 + - os: linux + go: 1.9.x + env: GOTAGS= GOOS=windows GOARCH=amd64 + - os: linux + go: 1.9.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=386 + - os: linux + go: 1.9.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=amd64 + - os: linux + go: 1.9.x + env: GOTAGS=trace GOOS=windows GOARCH=386 + - os: linux + go: 1.9.x + env: GOTAGS=trace GOOS=windows GOARCH=amd64 + - os: linux + go: 1.9.x + env: GOTAGS=vtable GOOS=windows GOARCH=386 + - os: linux + go: 1.9.x + env: GOTAGS=vtable GOOS=windows GOARCH=amd64 + - os: linux + go: 1.10.x + env: GOTAGS= GOOS=windows GOARCH=386 + - os: linux + go: 1.10.x + env: GOTAGS= GOOS=windows GOARCH=amd64 + - os: linux + go: 1.10.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=386 + - os: linux + go: 1.10.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=amd64 + - os: linux + go: 1.10.x + env: GOTAGS=trace GOOS=windows GOARCH=386 + - os: linux + go: 1.10.x + env: GOTAGS=trace GOOS=windows GOARCH=amd64 + - os: linux + go: 1.10.x + env: GOTAGS=vtable GOOS=windows GOARCH=386 + - os: linux + go: 1.10.x + env: GOTAGS=vtable GOOS=windows GOARCH=amd64 + + before_install: - - go get github.com/mattn/goveralls - - go get golang.org/x/tools/cmd/cover + - | + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + brew update + fi + - | + if [[ "${GOOS}" != "windows" ]]; then + go get github.com/mattn/goveralls + go get golang.org/x/tools/cmd/cover + fi + script: - - $HOME/gopath/bin/goveralls -repotoken 3qJVUE0iQwqnCbmNcDsjYu1nh4J4KIFXx - - go test -race -v . -tags "$GOTAGS" + - GOOS=$(go env GOOS) GOARCH=$(go env GOARCH) go build -v -tags "${GOTAGS}" . + - | + if [[ "${GOOS}" != "windows" ]]; then + $HOME/gopath/bin/goveralls -repotoken 3qJVUE0iQwqnCbmNcDsjYu1nh4J4KIFXx + go test -race -v . -tags "${GOTAGS}" + fi