language: node_js
node_js:
  - "4"
  - "5"
  - "6"
  - "7"
  - "8"
  - "9"
  - "10"
env:
  - SUITE=smoke
  - SUITE=unit
  - SUITE=integration
  - SUITE=lint
  - SUITE=prerelease
  - SUITE=security
  - SUITE=versioned
matrix:
  exclude:
    - node_js: "4"
      env: SUITE=security
    - node_js: "4"
      env: SUITE=lint
    - node_js: "5"
      env: SUITE=security
    - node_js: "5"
      env: SUITE=lint
  allow_failures:
    - env: SUITE=prerelease
addons:
  postgresql: "9.3"
services:
  - memcached
  - mysql
  - redis
  - cassandra
  - postgresql
  - rabbitmq
before_install:
  - if [ "$(npm --version)" = "3.10.3" ]; then npm install -g npm@3.4.1; fi
  - ./bin/travis-setup.sh
  - make update_npm_global
install: if [ "$SUITE" != "smoke" ]; then make node_modules; fi
script: make $SUITE
