language: node_js
os:
 - linux
node_js:
  - "10"
  - "9"
  - "8"
  - "7"
  - "6"
  - "5"
  - "4"
  - "iojs-v3"
  - "iojs-v2"
  - "iojs-v1"
  - "0.12"
before_install:
  - 'nvm install-latest-npm'
install:
  - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ] || [ "${TRAVIS_NODE_VERSION}" = "0.9" ]; then nvm install --latest-npm 0.8 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;'
script:
  - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
  - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
  - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
  - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
sudo: false
env:
  - TEST=true
matrix:
  fast_finish: true
  include:
    - node_js: "lts/*"
      env: PRETEST=true
  allow_failures:
    - node_js: "9"
    - node_js: "7"
    - node_js: "5"
    - node_js: "iojs-v3"
    - node_js: "iojs-v2"
    - node_js: "iojs-v1"
    - os: osx
    - env: TEST=true ALLOW_FAILURE=true
    - env: COVERAGE=true