Files
Josh Barnes d5ec02c2e6 Use newer conda version for recipe build test
Now that the latest version doesn't have the previously-encountered bug
2017-08-31 23:33:43 +01:00

136 lines
5.1 KiB
YAML

# 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