language: go go_import_path: github.com/coreos/etcd sudo: required services: docker go: - "1.10" - tip notifications: on_success: never on_failure: never env: matrix: - TARGET=amd64 - TARGET=amd64-go-tip - TARGET=darwin-amd64 - TARGET=windows-amd64 - TARGET=arm64 - TARGET=arm - TARGET=386 - TARGET=ppc64le matrix: fast_finish: true allow_failures: - go: tip env: TARGET=amd64-go-tip exclude: - go: "1.10" env: TARGET=amd64-go-tip - go: tip env: TARGET=amd64 - go: tip env: TARGET=darwin-amd64 - go: tip env: TARGET=windows-amd64 - go: tip env: TARGET=arm - go: tip env: TARGET=arm64 - go: tip env: TARGET=386 - go: tip env: TARGET=ppc64le 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 ./... script: - echo "TRAVIS_GO_VERSION=${TRAVIS_GO_VERSION}" - > case "${TARGET}" in amd64) 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 ./test" ;; amd64-go-tip) GOARCH=amd64 ./test ;; darwin-amd64) docker run --rm \ --volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GO_BUILD_FLAGS='-a -v' GOOS=darwin GOARCH=amd64 ./build" ;; windows-amd64) docker run --rm \ --volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GO_BUILD_FLAGS='-a -v' GOOS=windows GOARCH=amd64 ./build" ;; 386) 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='build unit' ./test" ;; *) # test building out of gopath docker run --rm \ --volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ /bin/bash -c "GO_BUILD_FLAGS='-a -v' GOARCH='${TARGET}' ./build" ;; esac