open-nomad/.travis.yml

108 lines
3.1 KiB
YAML

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