language: go go_import_path: go.etcd.io/etcd sudo: required services: docker go: - 1.12.9 notifications: on_success: never on_failure: never env: matrix: - TARGET=linux-amd64-fmt - TARGET=linux-amd64-integration-1-cpu - TARGET=linux-amd64-integration-2-cpu - TARGET=linux-amd64-integration-4-cpu - TARGET=linux-amd64-functional - TARGET=linux-amd64-unit - TARGET=all-build - TARGET=linux-amd64-grpcproxy - TARGET=linux-386-unit matrix: fast_finish: true allow_failures: - go: 1.12.9 env: TARGET=linux-amd64-grpcproxy - go: 1.12.9 env: TARGET=linux-386-unit before_install: - if [[ $TRAVIS_GO_VERSION == 1.* ]]; then docker pull gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION}; fi install: - go get -t -v -d ./... script: - echo "TRAVIS_GO_VERSION=${TRAVIS_GO_VERSION}" - > case "${TARGET}" in linux-amd64-fmt) docker run --rm \ --volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GOARCH=amd64 PASSES='fmt bom dep' ./test" ;; linux-amd64-integration-1-cpu) docker run --rm \ --volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GOARCH=amd64 CPU=1 PASSES='integration' ./test" ;; linux-amd64-integration-2-cpu) docker run --rm \ --volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GOARCH=amd64 CPU=2 PASSES='integration' ./test" ;; linux-amd64-integration-4-cpu) docker run --rm \ --volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GOARCH=amd64 CPU=4 PASSES='integration' ./test" ;; linux-amd64-functional) docker run --rm \ --volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "./build && GOARCH=amd64 PASSES='functional' ./test" ;; linux-amd64-unit) docker run --rm \ --volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GOARCH=amd64 PASSES='unit' ./test" ;; all-build) docker run --rm \ --volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GOARCH=amd64 PASSES='build' ./test \ && GOARCH=386 PASSES='build' ./test \ && GO_BUILD_FLAGS='-v' GOOS=darwin GOARCH=amd64 ./build \ && GO_BUILD_FLAGS='-v' GOOS=windows GOARCH=amd64 ./build \ && GO_BUILD_FLAGS='-v' GOARCH=arm ./build \ && GO_BUILD_FLAGS='-v' GOARCH=arm64 ./build \ && GO_BUILD_FLAGS='-v' GOARCH=ppc64le ./build" ;; linux-amd64-grpcproxy) sudo HOST_TMP_DIR=/tmp TEST_OPTS="PASSES='build grpcproxy'" make docker-test ;; linux-386-unit) docker run --rm \ --volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GOARCH=386 PASSES='unit' ./test" ;; esac