Revision d7d110b5a814d66d2c3575be9d69a80d9e7990e5 authored by Piotr Tabor on 09 April 2021, 13:49:50 UTC, committed by Piotr Tabor on 21 April 2021, 07:43:13 UTC
1 parent ea287dd
Raw File
.travis.yml
language: go
go_import_path: go.etcd.io/etcd/v3

sudo: required

services: docker

go:
  - 1.16.3
  - tip

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-4-cpu-race
    - TARGET=all-build
    - TARGET=linux-amd64-grpcproxy
    - TARGET=linux-amd64-coverage
    - TARGET=linux-amd64-fmt-unit-go-tip-2-cpu
    - TARGET=linux-386-unit-1-cpu

matrix:
  fast_finish: true
  allow_failures:
    - go: 1.16.3
      env: TARGET=linux-amd64-coverage
    - go: tip
      env: TARGET=linux-amd64-fmt-unit-go-tip-2-cpu
  exclude:
    - go: tip
      env: TARGET=linux-amd64-fmt
    - go: tip
      env: TARGET=linux-amd64-integration-1-cpu
    - go: tip
      env: TARGET=linux-amd64-integration-2-cpu
    - go: tip
      env: TARGET=linux-amd64-integration-4-cpu
    - go: tip
      env: TARGET=linux-amd64-functional
    - go: tip
      env: TARGET=linux-amd64-unit-4-cpu-race
    - go: tip
      env: TARGET=all-build
    - go: tip
      env: TARGET=linux-amd64-grpcproxy
    - go: tip
      env: TARGET=linux-amd64-coverage
    - go: 1.14.3
      env: TARGET=linux-amd64-fmt-unit-go-tip-2-cpu
    - go: tip
      env: TARGET=linux-386-unit-1-cpu

before_install:
  - if [[ $TRAVIS_GO_VERSION == 1.* ]]; then docker pull gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION}; fi

install:
  - date

script:
  - date
  - 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.sh"
        ;;
      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' RACE='false' ./test.sh"
        ;;
      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' RACE='false' ./test.sh"
        ;;
      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' RACE='true' ./test.sh"
        ;;
      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 "GO_BUILD_FLAGS='-v -mod=readonly' ./build && GOARCH=amd64 PASSES='functional' ./test"
        ;;
      linux-amd64-unit-4-cpu-race)
        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' RACE='true' CPU='4' ./test.sh -p=2"
        ;;
      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.sh \
            && GOARCH=386 PASSES='build' ./test.sh \
            && GO_BUILD_FLAGS='-v -mod=readonly' GOOS=darwin GOARCH=amd64 ./build.sh \
            && GO_BUILD_FLAGS='-v -mod=readonly' GOOS=windows GOARCH=amd64 ./build.sh \
            && GO_BUILD_FLAGS='-v -mod=readonly' GOARCH=arm ./build.sh \
            && GO_BUILD_FLAGS='-v -mod=readonly' GOARCH=arm64 ./build.sh \
            && GO_BUILD_FLAGS='-v -mod=readonly' GOARCH=ppc64le ./build.sh \
            && GO_BUILD_FLAGS='-v -mod=readonly' GOARCH=s390x ./build.sh"
        ;;
      linux-amd64-grpcproxy)
        sudo HOST_TMP_DIR=/tmp TEST_OPTS="PASSES='build grpcproxy'  CPU='4' COVER='false' RACE='true'" make docker-test
        ;;
      linux-amd64-coverage)
        sudo HOST_TMP_DIR=/tmp TEST_OPTS="VERBOSE='1'" make docker-test-coverage
        ;;
      linux-amd64-fmt-unit-go-tip-2-cpu)
        GOARCH=amd64 PASSES='fmt unit' CPU='2' RACE='false' ./test.sh -p=2
        ;;
      linux-386-unit-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=386 PASSES='unit' RACE='false' CPU='1' ./test -p=4"
        ;;
    esac
back to top