# http://travis-ci.org/#!/ipython/ipython
language: python

cache:
    directories:
        - $HOME/.cache/bower
        - $HOME/.cache/pip
python:
    - 3.6
    - 2.7

sudo: required

env:
  global:
    - PATH=$TRAVIS_BUILD_DIR/pandoc:$PATH
  matrix:
    - GROUP=js/notebook
    - GROUP=python
    - GROUP=js/base
    - GROUP=js/services
    - GROUP=js/tree
    - GROUP=docs

before_install:
    - pip install --upgrade pip
    - pip install --upgrade setuptools wheel nose coverage codecov
    - nvm install 6.9.2
    - nvm use 6.9.2
    - node --version
    - npm --version
    - npm upgrade -g npm
    - npm install
    - |
      if [[ $GROUP == js* ]]; then
        npm install -g casperjs@1.1.3 phantomjs-prebuilt@2.1.7
      fi
    - git clone --quiet --depth 1 https://github.com/minrk/travis-wheels travis-wheels
    - |
      if [[ $GROUP == docs ]]; then
        pip install -r docs/doc-requirements.txt
      fi

install:
    - pip install -f travis-wheels/wheelhouse file://$PWD#egg=notebook[test]
    - |
      if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
        # Work around https://github.com/ipython/ipykernel/issues/288
        pip install ipykernel==4.6.1
      fi
    - wget https://github.com/jgm/pandoc/releases/download/1.19.1/pandoc-1.19.1-1-amd64.deb && sudo dpkg -i pandoc-1.19.1-1-amd64.deb


script:
    - jupyter kernelspec list
    - 'if [[ $GROUP == js* ]]; then travis_retry python -m notebook.jstest ${GROUP:3}; fi'
    - 'if [[ $GROUP == python ]]; then nosetests -v --with-coverage --cover-package=notebook notebook; fi'
    - |
      if [[ $GROUP == docs ]]; then
        EXIT_STATUS=0
        make -C docs/ html || EXIT_STATUS=$?
        make -C docs/ linkcheck || EXIT_STATUS=$?
        pytest --nbval --current-env docs || EXIT_STATUS=$?
        exit $EXIT_STATUS
      fi

matrix:
    include:
        - python: 3.4
          env: GROUP=python
        - python: 3.5
          env: GROUP=python
    exclude:
        - python: 2.7
          env: GROUP=docs

after_success:
    - codecov
