Update Travis CI

Add: OSX
Add: Windows Cross-Compile
Add: Golang: 1.10.x

Exclusions:
- Golang: 1.7 from OSX
- Golang: Master does not cause build failure
- Tests for Windows Cross-Platform
This commit is contained in:
Gert-Jan Timmer 2018-05-23 19:20:57 +02:00
parent a72efd674f
commit 56ffb7a49b
1 changed files with 138 additions and 10 deletions

View File

@ -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