sudo: false
# need to declare the language as well as the matrix below
language: node_js
# having top-level `env:` adds a phantom build
# https://github.com/travis-ci/travis-ci/issues/4681
#env: DEPLOY_VERSION=testing
matrix:
  include:
    # LTS is our most important target
    - node_js: "6"
      # DEPLOY_VERSION is used to set the couchapp setup mode for test/tap/registry.js
      # only gather coverage info for LTS
      env: DEPLOY_VERSION=testing COVERALLS_REPO_TOKEN="$COVERALLS_OPTIONAL_TOKEN"
      script:
        - "node . run tap-cover -- \"test/tap/*.js\""
        - "unset COVERALLS_REPO_TOKEN ; node . run tap -- \"test/broken-under-*/*.js\""
    # previous LTS is next most important
    - node_js: "4"
      env: DEPLOY_VERSION=testing
    # then master
    - node_js: "7"
      env: DEPLOY_VERSION=testing
before_install:
  # required by test/tap/registry.js
  - "mkdir -p /var/run/couchdb"
notifications:
    slack: npm-inc:kRqQjto7YbINqHPb1X6nS3g8
cache:
  directories:
  - $HOME/.npm
  - html/doc
  - man
  - node_modules/.bin
  - node_modules/.cache
  - node_modules/deep-equal
  - node_modules/marked
  - node_modules/marked-man
  - node_modules/npm-registry-couchapp
  - node_modules/npm-registry-mock
  - node_modules/require-inject
  - node_modules/sprintf-js
  - node_modules/standard
  - node_modules/tacks
  - node_modules/tap
install:
  - "node . rebuild --depth=0"
  - "node . install --ignore-scripts"
  - "node . prune"
  - "make -j4 doc"
script:
  - "node . run tap -- \"test/tap/*.js\" \"test/broken-under-nyc/*.js\""
