108 lines
3.1 KiB
YAML
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
|