language: go os: - linux - osx addons: apt: update: true env: matrix: - GOTAGS= - GOTAGS=libsqlite3 - GOTAGS="sqlite_allow_uri_authority sqlite_app_armor sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_userauth" - GOTAGS=sqlite_trace - GOTAGS=sqlite_vacuum_full - GOTAGS=sqlite_vacuum_incr - GOTAGS=sqlite_vtable go: - 1.8.x - 1.9.x - 1.10.x matrix: include: - 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="sqlite_allow_uri_authority sqlite_app_armor sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_userauth" GOOS=windows GOARCH=386 - os: linux go: 1.8.x env: GOTAGS="sqlite_allow_uri_authority sqlite_app_armor sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_userauth" GOOS=windows GOARCH=amd64 - os: linux go: 1.8.x env: GOTAGS=sqlite_trace GOOS=windows GOARCH=386 - os: linux go: 1.8.x env: GOTAGS=sqlite_trace GOOS=windows GOARCH=amd64 - os: linux go: 1.8.x env: GOTAGS=sqlite_vacuum_full GOOS=windows GOARCH=386 - os: linux go: 1.8.x env: GOTAGS=sqlite_vacuum_full GOOS=windows GOARCH=amd64 - os: linux go: 1.8.x env: GOTAGS=sqlite_vacuum_incr GOOS=windows GOARCH=386 - os: linux go: 1.8.x env: GOTAGS=sqlite_vacuum_incr GOOS=windows GOARCH=amd64 - os: linux go: 1.8.x env: GOTAGS=sqlite_vtable GOOS=windows GOARCH=386 - os: linux go: 1.8.x env: GOTAGS=sqlite_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="sqlite_allow_uri_authority sqlite_app_armor sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_userauth" GOOS=windows GOARCH=386 - os: linux go: 1.9.x env: GOTAGS="sqlite_allow_uri_authority sqlite_app_armor sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_userauth" GOOS=windows GOARCH=amd64 - os: linux go: 1.9.x env: GOTAGS=sqlite_trace GOOS=windows GOARCH=386 - os: linux go: 1.9.x env: GOTAGS=sqlite_trace GOOS=windows GOARCH=amd64 - os: linux go: 1.9.x env: GOTAGS=sqlite_vacuum_full GOOS=windows GOARCH=386 - os: linux go: 1.9.x env: GOTAGS=sqlite_vacuum_full GOOS=windows GOARCH=amd64 - os: linux go: 1.9.x env: GOTAGS=sqlite_vacuum_incr GOOS=windows GOARCH=386 - os: linux go: 1.9.x env: GOTAGS=sqlite_vacuum_incr GOOS=windows GOARCH=amd64 - os: linux go: 1.9.x env: GOTAGS=sqlite_vtable GOOS=windows GOARCH=386 - os: linux go: 1.9.x env: GOTAGS=sqlite_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="sqlite_allow_uri_authority sqlite_app_armor sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_userauth" GOOS=windows GOARCH=386 - os: linux go: 1.10.x env: GOTAGS="sqlite_allow_uri_authority sqlite_app_armor sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_userauth" GOOS=windows GOARCH=amd64 - os: linux go: 1.10.x env: GOTAGS=sqlite_trace GOOS=windows GOARCH=386 - os: linux go: 1.10.x env: GOTAGS=sqlite_trace GOOS=windows GOARCH=amd64 - os: linux go: 1.10.x env: GOTAGS=sqlite_vacuum_full GOOS=windows GOARCH=386 - os: linux go: 1.10.x env: GOTAGS=sqlite_vacuum_full GOOS=windows GOARCH=amd64 - os: linux go: 1.10.x env: GOTAGS=sqlite_vacuum_incr GOOS=windows GOARCH=386 - os: linux go: 1.10.x env: GOTAGS=sqlite_vacuum_incr GOOS=windows GOARCH=amd64 - os: linux go: 1.10.x env: GOTAGS=sqlite_vtable GOOS=windows GOARCH=386 - os: linux go: 1.10.x env: GOTAGS=sqlite_vtable GOOS=windows GOARCH=amd64 before_install: - | if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update brew upgrade icu4c fi - | if [[ "${GOOS}" != "windows" ]]; then go get github.com/mattn/goveralls go get golang.org/x/tools/cmd/cover fi script: - 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