1language: go
2
3matrix:
4  include:
5  - go: 1.13.x
6    env: VET=1 GO111MODULE=on
7  - go: 1.13.x
8    env: RACE=1 GO111MODULE=on
9  - go: 1.13.x
10    env: RUN386=1
11  - go: 1.13.x
12    env: GRPC_GO_RETRY=on
13  - go: 1.13.x
14    env: TESTEXTRAS=1
15  - go: 1.12.x
16    env: GO111MODULE=on
17  - go: 1.11.x
18    env: GO111MODULE=on
19  - go: 1.9.x
20    env: GAE=1
21
22go_import_path: google.golang.org/grpc
23
24before_install:
25  - if [[ "${GO111MODULE}" = "on" ]]; then mkdir "${HOME}/go"; export GOPATH="${HOME}/go"; fi
26  - if [[ -n "${RUN386}" ]]; then export GOARCH=386; fi
27  - if [[ "${TRAVIS_EVENT_TYPE}" = "cron" && -z "${RUN386}" ]]; then RACE=1; fi
28  - if [[ "${TRAVIS_EVENT_TYPE}" != "cron" ]]; then export VET_SKIP_PROTO=1; fi
29
30install:
31  - try3() { eval "$*" || eval "$*" || eval "$*"; }
32  - try3 'if [[ "${GO111MODULE}" = "on" ]]; then go mod download; else make testdeps; fi'
33  - if [[ -n "${GAE}" ]]; then source ./install_gae.sh; make testappenginedeps; fi
34  - if [[ -n "${VET}" ]]; then ./vet.sh -install; fi
35
36script:
37  - set -e
38  - if [[ -n "${TESTEXTRAS}" ]]; then examples/examples_test.sh; interop/interop_test.sh; make testsubmodule; exit 0; fi
39  - if [[ -n "${VET}" ]]; then ./vet.sh; fi
40  - if [[ -n "${GAE}" ]]; then make testappengine; exit 0; fi
41  - if [[ -n "${RACE}" ]]; then make testrace; exit 0; fi
42  - make test
43