# http://travis-ci.org/#!/ipython-contrib/jupyter_contrib_nbextensions language: python dist: trusty # required for pandoc>1.9.1 sudo: false addons: apt_packages: - pandoc # for preprocessor tests - inkscape # for preprocessor tests # sauce_connect is used for connecting to saucelabs for js testing. Currently # we don't use saucelabs, as this only works when env vars are set for sauce # un & pw, which can't be made available securely in pull request builds. As # a result, we must do any js testng locally with a headless browser. # sauce_connect: true matrix: fast_finish: true # Use the built-in venv for linux builds # 3.5 as it isn't installed by default. Let tox handle other versions. include: # packaging sanity check - os: linux python: '3.4' env: TOXENV=check # python linting - os: linux python: '3.4' env: TOXENV=lint # check docs build correctly - os: linux python: '3.4' env: TOXENV=docs_build # check docs links - os: linux python: '3.4' env: TOXENV=docs_linkcheck # check that conda build/install works - os: linux python: '3.6' env: TOXENV=condarecipe # linux, various python and notebook versions - os: linux python: '3.4' env: TOXENV=py27-notebook - os: linux python: '3.3' env: TOXENV=py33-notebook - os: linux python: '3.4' env: TOXENV=py34-notebook40 - os: linux python: '3.4' env: TOXENV=py34-notebook41 - os: linux python: '3.4' env: TOXENV=py34-notebook42 - os: linux python: '3.4' env: TOXENV=py34-notebook43 - os: linux python: '3.4' env: TOXENV=py34-notebook44 - os: linux python: '3.4' env: TOXENV=py34-notebook4x - os: linux python: '3.5' env: TOXENV=py35-notebook - os: linux python: '3.6' env: TOXENV=py36-notebook # OSX tests, python 2 & 3 # Use generic language on osx, get python via terryfy during before_install - os: osx language: generic env: OSX_PYTHON=2.7 TOXENV=py27-notebook - os: osx language: generic env: OSX_PYTHON=3.5 TOXENV=py35-notebook # finally, appveyor downloads from windows platform - os: linux python: '3.4' env: TOXENV=appveyorartifacts allow_failures: - env: TOXENV=appveyorartifacts - env: TOXENV=docs_linkcheck env: global: - LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so - SEGFAULT_SIGNALS=all before_install: - uname -a - id -un - id -Gn # install python on osx - 'if [[ ${OSX_PYTHON} ]]; then curl https://raw.githubusercontent.com/MacPython/terryfy/12a4641c4e922eb4a63c82732df8d0c5045430af/travis_tools.sh > travis_tools.sh; fi' - 'if [[ ${OSX_PYTHON} ]]; then source travis_tools.sh; fi' - 'if [[ ${OSX_PYTHON} ]]; then get_python_environment macpython $OSX_PYTHON venv; fi' # install 3.4 as it's the default for tox environments like clean, check - 'if [[ ${OSX_PYTHON} ]] && [[ ${OSX_PYTHON} != "3.4" ]]; then install_macpython 3.4; fi' # check which python installs are present/active - 'if [[ ${OSX_PYTHON} ]]; then echo "$PYTHON_EXE"; fi;' - 'if [[ ${OSX_PYTHON} ]]; then if [[ $(which python ) ]]; then ls -l $(which python ); else echo "missing"; fi; fi' - 'if [[ ${OSX_PYTHON} ]]; then if [[ $(which python2.7) ]]; then ls -l $(which python2.7); else echo "missing"; fi; fi' - 'if [[ ${OSX_PYTHON} ]]; then if [[ $(which python3.3) ]]; then ls -l $(which python3.3); else echo "missing"; fi; fi' - 'if [[ ${OSX_PYTHON} ]]; then if [[ $(which python3.4) ]]; then ls -l $(which python3.4); else echo "missing"; fi; fi' - 'if [[ ${OSX_PYTHON} ]]; then if [[ $(which python3.5) ]]; then ls -l $(which python3.5); else echo "missing"; fi; fi' # stuff for conda recipe - 'if [[ ${TOXENV} == "condarecipe" ]]; then wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; fi' - 'if [[ ${TOXENV} == "condarecipe" ]]; then bash miniconda.sh -b -p $HOME/miniconda; fi' - 'if [[ ${TOXENV} == "condarecipe" ]]; then export PATH="$HOME/miniconda/bin:$PATH"; fi' - 'if [[ ${TOXENV} == "condarecipe" ]]; then hash -r; fi' - 'if [[ ${TOXENV} == "condarecipe" ]]; then conda config --set always_yes yes --set changeps1 no; fi' - 'if [[ ${TOXENV} == "condarecipe" ]]; then conda info -a; fi # Useful for debugging any issues with conda' - 'if [[ ${TOXENV} == "condarecipe" ]]; then conda install conda-build; fi' - 'if [[ ${TOXENV} == "condarecipe" ]]; then conda config --append channels conda-forge; fi # add conda-forge channel at lower priority than defaults' - 'if [[ ${TOXENV} == "condarecipe" ]]; then git fetch --unshallow; fi' install: - pip install tox - virtualenv --version script: - tox -v -e ${TOXENV} after_script: # test if TOXENV not in set # see http://unix.stackexchange.com/a/111518 - 'if ! [[ ${TOXENV} =~ ^(appveyorartifacts|check|condarecipe|docs|lint)$ ]]; then tox -e coveralls,codecov; fi' after_failure: - more .tox/log/* | cat - more .tox/*/log/* | cat after_success: before_cache: - rm -rf $HOME/.cache/pip/log cache: directories: - $HOME/.cache/pip notifications: email: false