services: - docker language: go go: - "1.x" addons: chrome: stable git: depth: 300 # This skips non-UI jobs for UI-only branches with names like f-ui/whatever or b-ui/something. _skip_for_ui_branches: &skip_for_ui_branches if: (type = push AND NOT branch =~ /^.-ui\b/) OR (type = pull_request AND NOT head_branch =~ /^.-ui\b/) matrix: include: - os: linux dist: xenial sudo: required env: GOTEST_PKGS="./api" <<: *skip_for_ui_branches - os: linux dist: xenial sudo: required env: GOTEST_PKGS="./client" <<: *skip_for_ui_branches - os: linux dist: xenial sudo: required env: GOTEST_PKGS="./command" <<: *skip_for_ui_branches - os: linux dist: xenial sudo: required env: GOTEST_PKGS="./drivers/docker" <<: *skip_for_ui_branches - os: linux dist: xenial sudo: required env: GOTEST_PKGS="./drivers/exec" <<: *skip_for_ui_branches - os: linux dist: xenial sudo: required env: GOTEST_PKGS="./nomad" <<: *skip_for_ui_branches - os: linux dist: xenial sudo: required env: GOTEST_PKGS_EXCLUDE="./api|./client|./command|./drivers/docker|./drivers/exec|./nomad" <<: *skip_for_ui_branches - os: linux dist: xenial sudo: required env: ENABLE_RACE=1 <<: *skip_for_ui_branches - os: linux dist: xenial sudo: false env: RUN_WEBSITE_TESTS=1 SKIP_NOMAD_TESTS=1 <<: *skip_for_ui_branches - os: linux dist: xenial sudo: false env: RUN_UI_TESTS=1 SKIP_NOMAD_TESTS=1 - os: linux dist: xenial sudo: false env: RUN_STATIC_CHECKS=1 SKIP_NOMAD_TESTS=1 <<: *skip_for_ui_branches - os: osx osx_image: xcode9.1 <<: *skip_for_ui_branches - os: linux dist: xenial sudo: required env: RUN_E2E_TESTS=1 SKIP_NOMAD_TESTS=1 <<: *skip_for_ui_branches allow_failures: # Allow osx to fail as its flaky - os: osx #FIXME Allow race enabled builds to fail for now. - env: ENABLE_RACE=1 fast_finish: true before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ -z "$SKIP_NOMAD_TESTS" ]]; then sudo -E bash ./scripts/travis-mac-priv.sh ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ -z "$SKIP_NOMAD_TESTS" ]]; then sudo -E bash ./scripts/travis-linux.sh ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$RUN_STATIC_CHECKS" ]]; then sudo -E bash ./scripts/vagrant-linux-priv-protoc.sh; fi - if [[ "$RUN_UI_TESTS" ]]; then curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.15.2 ; fi - if [[ "$RUN_UI_TESTS" ]]; then export PATH="$HOME/.yarn/bin:$PATH" ; fi - echo "Travis Node Version" && node -v install: - if [[ -z "$SKIP_NOMAD_TESTS" ]] || [[ "$RUN_STATIC_CHECKS" ]]; then make deps; fi - if [[ "$RUN_STATIC_CHECKS" ]]; then make lint-deps ; fi - if [[ "$RUN_UI_TESTS" ]]; then . $HOME/.nvm/nvm.sh && cd ui && nvm install && nvm use && cd .. ; fi script: - sudo -E "PATH=$PATH" GOTESTSUM_JUNITFILE=/tmp/results.xml make travis after_script: - cat /tmp/results.xml