language: go matrix: include: - go: 1.12beta2 env: GO111MODULE=on - go: 1.11.x env: VET=1 GO111MODULE=on - go: 1.11.x env: RACE=1 GO111MODULE=on - go: 1.11.x env: RUN386=1 - go: 1.11.x env: GRPC_GO_RETRY=on - go: 1.10.x - go: 1.9.x - go: 1.9.x env: GAE=1 go_import_path: google.golang.org/grpc before_install: - if [[ "${GO111MODULE}" = "on" ]]; then mkdir "${HOME}/go"; export GOPATH="${HOME}/go"; fi - if [[ -n "${RUN386}" ]]; then export GOARCH=386; fi - if [[ "${TRAVIS_EVENT_TYPE}" = "cron" && -z "${RUN386}" ]]; then RACE=1; fi - if [[ "${TRAVIS_EVENT_TYPE}" != "cron" ]]; then VET_SKIP_PROTO=1; fi install: - try3() { eval "$*" || eval "$*" || eval "$*"; } - try3 'if [[ "${GO111MODULE}" = "on" ]]; then go mod download; else make testdeps; fi' - if [[ "${GAE}" = 1 ]]; then source ./install_gae.sh; make testappenginedeps; fi - if [[ "${VET}" = 1 ]]; then ./vet.sh -install; fi script: - set -e - if [[ "${VET}" = 1 ]]; then ./vet.sh; fi - if [[ "${GAE}" = 1 ]]; then make testappengine; exit 0; fi - if [[ "${RACE}" = 1 ]]; then make testrace; exit 0; fi - make test