git:
  depth: 5
language: node_js
cache:
  yarn: true
node_js:
  # We test the latest version on circleci
  - '10'
  - '8'
  - '6'

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

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

install:
  # the `make test-ci` script runs this command already
  - if [ "$JOB" != "test" ] && [ "$JOB" != "lint" ]; then yarn install; fi
  - if [ "$JOB" = "lint" ]; then make bootstrap; fi

before_script:
  - if [ "$JOB" = "babel-parser-flow-tests" ]; then make bootstrap-flow; fi
  - if [ "$JOB" = "babel-parser-test262-tests" ]; then make bootstrap-test262; fi

script:
  - if [ "$JOB" = "test" ]; then make test-ci; fi
  - if [ "$JOB" = "lint" ]; then make lint && make flow; fi
  - if [ "$JOB" = "babel-parser-flow-tests" ]; then make test-flow-ci; fi
  - if [ "$JOB" = "babel-parser-test262-tests" ]; then make test-test262-ci; fi

matrix:
  fast_finish: true
  include:
    - node_js: "node"
      env: JOB=lint
    - node_js: "node"
      env: JOB=babel-parser-flow-tests
    - node_js: "node"
      env: JOB=babel-parser-test262-tests

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+$/
