travis.yml: add more concurrent jobs including functional tests

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
This commit is contained in:
Gyuho Lee 2018-04-10 16:44:09 -07:00
parent eabb40f0ae
commit 9585153615

View File

@ -15,75 +15,124 @@ notifications:
env: env:
matrix: matrix:
- TARGET=amd64 - TARGET=linux-amd64-build
- TARGET=amd64-go-tip - TARGET=linux-amd64-unit
- TARGET=darwin-amd64 - TARGET=linux-amd64-fmt
- TARGET=windows-amd64 - TARGET=linux-amd64-integration
- TARGET=arm64 - TARGET=linux-amd64-functional
- TARGET=arm - TARGET=linux-386-build
- TARGET=386 - TARGET=linux-386-unit
- TARGET=ppc64le - TARGET=darwin-amd64-build
- TARGET=windows-amd64-build
- TARGET=linux-arm-build
- TARGET=linux-arm64-build
- TARGET=linux-ppc64le-build
- TARGET=linux-amd64-fmt-unit-go-tip
matrix: matrix:
fast_finish: true fast_finish: true
allow_failures: allow_failures:
- go: tip - go: tip
env: TARGET=amd64-go-tip env: TARGET=linux-amd64-fmt-unit-go-tip
exclude: exclude:
- go: tip
env: TARGET=linux-amd64-build
- go: tip
env: TARGET=linux-amd64-unit
- go: tip
env: TARGET=linux-amd64-fmt
- go: tip
env: TARGET=linux-amd64-integration
- go: tip
env: TARGET=linux-amd64-functional
- go: tip
env: TARGET=linux-386-build
- go: tip
env: TARGET=linux-386-unit
- go: tip
env: TARGET=darwin-amd64-build
- go: tip
env: TARGET=windows-amd64-build
- go: tip
env: TARGET=linux-arm-build
- go: tip
env: TARGET=linux-arm64-build
- go: tip
env: TARGET=linux-ppc64le-build
- go: 1.10.1 - go: 1.10.1
env: TARGET=amd64-go-tip env: TARGET=linux-amd64-fmt-unit-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: before_install:
- if [[ $TRAVIS_GO_VERSION == 1.* ]]; then docker pull gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION}; fi - if [[ $TRAVIS_GO_VERSION == 1.* ]]; then docker pull gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION}; fi
install: install:
- go get -t -v ./... - go get -t -d ./...
script: script:
- echo "TRAVIS_GO_VERSION=${TRAVIS_GO_VERSION}" - echo "TRAVIS_GO_VERSION=${TRAVIS_GO_VERSION}"
- > - >
case "${TARGET}" in case "${TARGET}" in
amd64) linux-amd64-build)
docker run --rm \ docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ --volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "GOARCH=amd64 ./test" /bin/bash -c "GOARCH=amd64 PASSES='build' ./test"
;; ;;
amd64-go-tip) linux-amd64-unit)
GOARCH=amd64 ./test
;;
darwin-amd64)
docker run --rm \ docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ --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" /bin/bash -c "GOARCH=amd64 PASSES='unit' ./test"
;; ;;
windows-amd64) linux-amd64-fmt)
docker run --rm \ docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ --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" /bin/bash -c "GOARCH=amd64 PASSES='fmt bom dep' ./test"
;; ;;
386) linux-amd64-integration)
docker run --rm \ docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ --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" /bin/bash -c "GOARCH=amd64 PASSES='integration' ./test"
;; ;;
*) linux-amd64-functional)
# test building out of gopath
docker run --rm \ docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \ --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" /bin/bash -c "./build && GOARCH=amd64 PASSES='functional' ./test"
;;
linux-386-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=386 PASSES='build' ./test"
;;
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"
;;
darwin-amd64-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 "GO_BUILD_FLAGS='-v' GOOS=darwin GOARCH=amd64 ./build"
;;
windows-amd64-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 "GO_BUILD_FLAGS='-v' GOOS=windows GOARCH=amd64 ./build"
;;
linux-arm-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 "GO_BUILD_FLAGS='-v' GOARCH=arm ./build"
;;
linux-arm64-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 "GO_BUILD_FLAGS='-v' GOARCH=arm64 ./build"
;;
linux-ppc64le-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 "GO_BUILD_FLAGS='-v' GOARCH=ppc64le ./build"
;;
linux-amd64-fmt-unit-go-tip)
GOARCH=amd64 PASSES='fmt unit' ./test
;; ;;
esac esac