language: node_js
node_js:
  - "7.2"
  - "7.1"
  - "7.0"
  - "6.9"
  - "6.8"
  - "6.7"
  - "6.6"
  - "6.5"
  - "6.4"
  - "6.3"
  - "6.2"
  - "6.1"
  - "6.0"
  - "5.12"
  - "5.11"
  - "5.10"
  - "5.9"
  - "5.8"
  - "5.7"
  - "5.6"
  - "5.5"
  - "5.4"
  - "5.3"
  - "5.2"
  - "5.1"
  - "5.0"
  - "4.6"
  - "4.5"
  - "4.4"
  - "4.3"
  - "4.2"
  - "4.1"
  - "4.0"
  - "iojs-v3.3"
  - "iojs-v3.2"
  - "iojs-v3.1"
  - "iojs-v3.0"
  - "iojs-v2.5"
  - "iojs-v2.4"
  - "iojs-v2.3"
  - "iojs-v2.2"
  - "iojs-v2.1"
  - "iojs-v2.0"
  - "iojs-v1.8"
  - "iojs-v1.7"
  - "iojs-v1.6"
  - "iojs-v1.5"
  - "iojs-v1.4"
  - "iojs-v1.3"
  - "iojs-v1.2"
  - "iojs-v1.1"
  - "iojs-v1.0"
  - "0.12"
  - "0.11"
  - "0.10"
  - "0.9"
  - "0.8"
  - "0.6"
  - "0.4"
before_install:
  - 'if [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
  - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
  - 'if [ "${SAUCE-}" = "true" ]; then npm install -g grunt-cli; fi'
script:
  - 'if [ "${SAUCE-}" = "true" ]; then npm run sauce; fi'
  - 'if [ "${PRETEST-}" = "true" ]; then npm run pretest; fi'
  - 'if [ "${TEST-}" = "true"]; then npm run tests-only; fi'
# NOTE: sauce_connect is disabled, because it applies to every test and we only need it on one of them.
#  It's available inside `npm run sauce`
# addons:
#  sauce_connect: true
sudo: false
env:
  - TEST=true
matrix:
  fast_finish: true
  include:
    - node_js: "node"
      env: PRETEST=true
    - node_js: "node"
      env: SAUCE=true
  allow_failures:
    - node_js: "7.1"
    - node_js: "7.0"
    - node_js: "6.8"
    - node_js: "6.7"
    - node_js: "6.6"
    - node_js: "6.5"
    - node_js: "6.4"
    - node_js: "6.3"
    - node_js: "6.2"
    - node_js: "6.1"
    - node_js: "6.0"
    - node_js: "5.11"
    - node_js: "5.10"
    - node_js: "5.9"
    - node_js: "5.8"
    - node_js: "5.7"
    - node_js: "5.6"
    - node_js: "5.5"
    - node_js: "5.4"
    - node_js: "5.3"
    - node_js: "5.2"
    - node_js: "5.1"
    - node_js: "5.0"
    - node_js: "4.5"
    - node_js: "4.4"
    - node_js: "4.3"
    - node_js: "4.2"
    - node_js: "4.1"
    - node_js: "4.0"
    - node_js: "iojs-v3.2"
    - node_js: "iojs-v3.1"
    - node_js: "iojs-v3.0"
    - node_js: "iojs-v2.4"
    - node_js: "iojs-v2.3"
    - node_js: "iojs-v2.2"
    - node_js: "iojs-v2.1"
    - node_js: "iojs-v2.0"
    - node_js: "iojs-v1.7"
    - node_js: "iojs-v1.6"
    - node_js: "iojs-v1.5"
    - node_js: "iojs-v1.4"
    - node_js: "iojs-v1.3"
    - node_js: "iojs-v1.2"
    - node_js: "iojs-v1.1"
    - node_js: "iojs-v1.0"
    - node_js: "0.11"
    - node_js: "0.9"
    - node_js: "0.6"
    - node_js: "0.4"
    - node_js: "node"
      env: SAUCE=true
env:
  global:
    - secure: YD4HLTE93NhSxa+64MYHhnbJ2ZkREp/HGiFGE4q+AWShqAiehtqE/K3hQUe7p0+1/2/34avhm2bz31j508ayCobm6SSUhpleJH58IK3v4LI2o9qtM+2N/MPJFOIvbziHqOM6fPluowU0k3OSdEAp4U+6S23wKSuXzcUSK8upAiM=
    - secure: k7+PgLcGJL1zyMMxZ8DSRxRrmLr5sb9i4M1kCdUvw2kRGacqoI3UhdvO2AyrAD0TAjIQoRM4dL37WsgJijhTNOu1gTb5lMUXWSQU47T7tFTvpM6OlGvQ54I7iAgv5NABZ/0gDGlQDrVdb9hQPLG1FDrMxsxcdXfgXqzqbhNsv7I=
    - SAUCE_HAS_TUNNEL=true
