language: go go_import_path: github.com/coreos/etcd sudo: required services: docker go: - 1.8.7 notifications: on_success: never on_failure: never env: matrix: - TARGET=linux-amd64-integration - TARGET=linux-amd64-functional - TARGET=linux-amd64-unit - TARGET=all-build - TARGET=linux-386-unit matrix: fast_finish: true allow_failures: - go: 1.8.7 env: TARGET=linux-386-unit exclude: - go: tip 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: - pushd cmd/etcd && go get -t -v ./... && popd script: - echo "TRAVIS_GO_VERSION=${TRAVIS_GO_VERSION}" - > case "${TARGET}" in linux-amd64-integration) docker run --rm \ --volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GOARCH=amd64 PASSES='integration' ./test" ;; linux-amd64-functional) docker run --rm \ --volume=`pwd`:/go/src/github.com/coreos/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/github.com/coreos/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/github.com/coreos/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-386-unit) docker run --rm \ --volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GOARCH=386 PASSES='unit' ./test" ;; esac