language: node_js
node_js:
  - "5.7"
  - "5.6"
  - "5.5"
  - "5.4"
  - "5.3"
  - "5.2"
  - "5.1"
  - "5.0"
  - "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.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'
  - '[ "${TRAVIS_RUN_SAUCE}" != "true" ] || npm install -g grunt-cli'
script:
  - 'if [ "${TRAVIS_RUN_SAUCE}" == "true" ]; then npm run sauce ; elif [ "${TRAVIS_NODE_VERSION}" != "0.11" ] && [ "${TRAVIS_RUN_LINT_ONLY}" != "true" ]; then npm run tests-only ; else npm test ; 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
matrix:
  fast_finish: true
  include:
    - node_js: "0.12"
      env: TRAVIS_RUN_SAUCE=false TRAVIS_RUN_LINT_ONLY=true
    - node_js: "0.12"
      env: TRAVIS_RUN_SAUCE=true TRAVIS_RUN_LINT_ONLY=false
    - node_js: "0.12"
      env: TRAVIS_RUN_SAUCE=false TRAVIS_RUN_LINT_ONLY=false
  allow_failures:
    - 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.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.8"
    - node_js: "0.6"
    - node_js: "0.4"
    - node_js: "0.12"
      env: TRAVIS_RUN_SAUCE=true TRAVIS_RUN_LINT_ONLY=false
env:
  global:
    - secure: YD4HLTE93NhSxa+64MYHhnbJ2ZkREp/HGiFGE4q+AWShqAiehtqE/K3hQUe7p0+1/2/34avhm2bz31j508ayCobm6SSUhpleJH58IK3v4LI2o9qtM+2N/MPJFOIvbziHqOM6fPluowU0k3OSdEAp4U+6S23wKSuXzcUSK8upAiM=
    - secure: k7+PgLcGJL1zyMMxZ8DSRxRrmLr5sb9i4M1kCdUvw2kRGacqoI3UhdvO2AyrAD0TAjIQoRM4dL37WsgJijhTNOu1gTb5lMUXWSQU47T7tFTvpM6OlGvQ54I7iAgv5NABZ/0gDGlQDrVdb9hQPLG1FDrMxsxcdXfgXqzqbhNsv7I=
    - SAUCE_HAS_TUNNEL=true
