sudo: false

language: go

matrix:
  include:
    - go: 1.4
      env:
        - KUBE_TEST_API_VERSIONS="v1beta1"
          KUBE_TEST_ETCD_PREFIXES="registry"
    - go: 1.3
      env:
        - KUBE_TEST_API_VERSIONS="v1beta3"
          KUBE_TEST_ETCD_PREFIXES="kubernetes.io/registry"

install:
  - if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi
  - go get github.com/mattn/goveralls
  - ./hack/travis/install-etcd.sh
  - ./hack/verify-gofmt.sh
  - ./hack/verify-boilerplate.sh
  - ./hack/verify-description.sh
  - ./hack/travis/install-std-race.sh
  - ./hack/build-go.sh
  - GOPATH=$PWD/Godeps/_workspace:$GOPATH go install ./...
  - PATH=$HOME/gopath/bin:./third_party/etcd:$PATH ./hack/verify-gendocs.sh

before_script:
  - npm install karma karma-junit-reporter karma-phantomjs-launcher karma-jasmine

script:
  - KUBE_RACE="-race" KUBE_COVER="y" KUBE_GOVERALLS_BIN="$HOME/gopath/bin/goveralls" KUBE_TIMEOUT='-timeout 300s' KUBE_COVERPROCS=8 KUBE_TEST_API_VERSIONS="${KUBE_TEST_API_VERSIONS}" KUBE_TEST_ETCD_PREFIXES="${KUBE_TEST_ETCD_PREFIXES}" ./hack/test-go.sh -- -p=2
  - node_modules/karma/bin/karma start www/master/karma.conf.js --single-run --browsers PhantomJS
  - PATH=$HOME/gopath/bin:./third_party/etcd:$PATH ./hack/test-cmd.sh
  - PATH=$HOME/gopath/bin:./third_party/etcd:$PATH KUBE_TEST_API_VERSIONS="${KUBE_TEST_API_VERSIONS}" KUBE_INTEGRATION_TEST_MAX_CONCURRENCY=4 LOG_LEVEL=4 ./hack/test-integration.sh
  - PATH=$HOME/gopath/bin:./third_party/etcd:$PATH ./hack/test-update-storage-objects.sh

notifications:
  irc: "chat.freenode.net#google-containers"
