dist: trusty sudo: required language: node_js env: global: - DBUS_SESSION_BUS_ADDRESS=/dev/null matrix: fast_finish: true allow_failures: - os: osx - node_js: "7" - env: NODE_SCRIPT="tests/run_e2e.js --nightly" include: - node_js: "6" os: linux env: SCRIPT=lint - node_js: "6" os: linux env: SCRIPT=build - node_js: "4" os: linux env: NODE_SCRIPT=tests/run_e2e.js - node_js: "6" os: linux env: SCRIPT=test - node_js: "6" os: linux env: NODE_SCRIPT=tests/run_e2e.js - node_js: "6" os: osx env: NODE_SCRIPT=tests/run_e2e.js # Optional builds. - node_js: "6" os: osx env: SCRIPT=test - node_js: "6" os: linux env: NODE_SCRIPT="tests/run_e2e.js --nightly" - node_js: "7" os: linux env: NODE_SCRIPT=tests/run_e2e.js before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew tap caskroom/cask; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew cask install google-chrome --force; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir ~/.config && echo "--no-sandbox" > ~/.config/chrome-flags.conf; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sh -e /etc/init.d/xvfb start; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CHROME_BIN=chromium-browser; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then echo "--no-sandbox" > ~/.config/chromium-flags.conf; fi - npm install -g npm - npm config set spin false - npm config set progress false install: - npm install --no-optional script: - if [[ "$SCRIPT" ]]; then npm run-script $SCRIPT; fi - if [[ "$NODE_SCRIPT" ]]; then node $NODE_SCRIPT; fi