language: go

go:
  - 1.11.x

go_import_path: contrib.go.opencensus.io/exporter/stackdriver

env:
  global:
    GO111MODULE=on

before_script:
  - GO_FILES=$(find . -iname '*.go' | grep -v /vendor/)  # All the .go files, excluding vendor/ if any
  - PKGS=$(go list ./... | grep -v /vendor/)             # All the import paths, excluding vendor/ if any

script:
  - go build ./...                    # Ensure dependency updates don't break build
  - if [ -n "$(gofmt -s -l $GO_FILES)" ]; then echo "gofmt the following files:"; gofmt -s -l $GO_FILES; exit 1; fi
  - go vet ./...
  - go test -v -race $PKGS            # Run all the tests with the race detector enabled
  - GO111MODULE=off go get -t ./...
  - GO111MODULE=off go build ./...
  - GO111MODULE=off go test -v -race $PKGS            # Make sure tests still pass when not using Go modules.
  - 'if [[ $TRAVIS_GO_VERSION = 1.8* ]]; then ! golint ./... | grep -vE "(_mock|_string|\.pb)\.go:"; fi'
