git:
  depth: 10
sudo: false
language: node_js
cache:
  yarn: true
  directories:
  - node_modules
node_js:
  - '8'
  - '6'
  - '4'

env:
  global:
    - PATH=$HOME/.yarn/bin:$PATH
    - JOB=test

before_install:
  - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.28.1

script:
  # Babel doesn't build correctly with npm v2 (which comes bundled with Node v4)
  # so we manually upgrade to a known working npm version.
  - npm install --global npm@4
  - 'if [ "$JOB" = "test" ]; then make test-ci; fi'
  - 'if [ "$JOB" = "lint" ]; then make lint && make flow; fi'

matrix:
  fast_finish: true
  include:
    - node_js: "node"
      env: JOB=lint

notifications:
  slack:
    on_success: change
    on_failure: always
    rooms:
      # Generate with
      #     travis encrypt "babeljs:<token>#activity" --add notifications.slack.rooms
      # where <token> is from the Slack integration settings.
      secure: SrwPKRe2AiNAKRo/+2yW/x4zxbWf2FBXuBuuPkdTJVTpWe++Jin1lXYJWTKP1a1i/IbmhffBO9YZcUFbeuXJpRM083vO8VYpyuBMQRqWD+Z3o+ttPlHGOJgnj0nkIcGRk6k7PpyHNnIkixfEJDvbbg9lN1Jswb3xkL8iYIHpuFE=

branches:
  except:
    - /^v\d+\.\d+\.\d+$/
