Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 50 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@ env:
- secure: E7OCdqhZ+PlwJcn+Hd6ns9TDJgEUXiUNEI0wu7xjxB2vBRRIKtZMbuaZjd+iKDqCKuVOJKu0ClBUYxmgmpLicTwi34CfTUYt6D4uhrU+8hBBOn1iiK51cl/aBvlUUrqaRLVhukNEBGZcyqAjXSA/Qsnp2iELEmAfOUa92ZYo1sk=
- BUILD_DOCS=false
- TEST_ARGS=--no-pep8
- NUMPY_VERSION=1.9

language: python

matrix:
include:
- python: 2.6
env: NUMPY_VERSION=1.6
- python: 2.7
- python: 3.3
- python: 3.4
Expand All @@ -20,12 +22,35 @@ matrix:
- python: 2.7
env: BUILD_DOCS=true

before_install:
# Download and install conda
- wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh
- chmod +x miniconda.sh
- ./miniconda.sh -b
- export PATH=/home/travis/miniconda/bin:$PATH
- conda update --yes conda


install:
- pip install -q --use-mirrors nose python-dateutil numpy pep8 pyparsing pillow
- sudo apt-get update && sudo apt-get -qq install inkscape libav-tools
# We use --no-install-recommends to avoid pulling in additional large latex docs that we don't need
- if [[ $BUILD_DOCS == true ]]; then sudo apt-get install -qq --no-install-recommends dvipng texlive-latex-base texlive-latex-extra texlive-fonts-recommended graphviz; fi
- if [[ $BUILD_DOCS == true ]]; then pip install sphinx numpydoc linkchecker; fi
# Set up Conda environment
- conda create --yes -n test python=$TRAVIS_PYTHON_VERSION
- source activate test

# Install core Python dependencies using conda
- conda install --yes nose dateutil numpy=$NUMPY_VERSION pep8 pyparsing pillow

# Install some non-Python dependencies through apt-get
- sudo apt-get update
- sudo apt-get -qq install inkscape libav-tools
# We use --no-install-recommends to avoid pulling in additional large latex docs that we don't need
- |
if [[ $BUILD_DOCS == true ]]; then
sudo apt-get install -qq --no-install-recommends dvipng texlive-latex-base texlive-latex-extra texlive-fonts-recommended graphviz;
conda install --yes sphinx numpydoc;
pip install linkchecker;
fi

# Now, install matplotlib
- python setup.py install

script:
Expand All @@ -36,16 +61,25 @@ script:
# Generate the font caches in a single process before starting the
# multiple processes
- python -c "from matplotlib import font_manager"
- if [[ $BUILD_DOCS == false ]]; then mkdir ../tmp_test_dir; fi
- if [[ $BUILD_DOCS == false ]]; then cd ../tmp_test_dir; fi
- if [[ $BUILD_DOCS == false ]]; then python ../matplotlib/tests.py -sv --processes=8 --process-timeout=300 $TEST_ARGS; fi
- if [[ $BUILD_DOCS == true ]]; then cd doc; python make.py html --small; fi
# We don't build the LaTeX docs here, so linkchecker will complain
- if [[ $BUILD_DOCS == true ]]; then touch build/html/Matplotlib.pdf; fi
- if [[ $BUILD_DOCS == true ]]; then linkchecker build/html/index.html; fi
- |
if [[ $BUILD_DOCS == false ]]; then
mkdir ../tmp_test_dir;
cd ../tmp_test_dir;
python ../matplotlib/tests.py -sv --processes=8 --process-timeout=300 $TEST_ARGS;
else
cd doc; python make.py html --small;
# We don't build the LaTeX docs here, so linkchecker will complain
touch build/html/Matplotlib.pdf;
linkchecker build/html/index.html;
fi

after_failure:
- tar cjf result_images.tar.bz2 result_images
- if [[ $TRAVIS_PULL_REQUEST == false ]]; then gem install travis-artifacts; fi
- if [[ $TRAVIS_PULL_REQUEST == false ]]; then travis-artifacts upload --path result_images.tar.bz2; fi
- if [[ $TRAVIS_PULL_REQUEST != false ]]; then echo "The result images will only be uploaded if they are on the matplotlib/matplotlib repo - this is for security reasons to prevent arbitrary PRs echoing security details." else echo https://s3.amazonaws.com/matplotlib-test-results/artifacts/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}/result_images.tar.bz2; fi
- |
if [[ $TRAVIS_PULL_REQUEST == false ]]; then
tar cjf result_images.tar.bz2 result_images;
gem install travis-artifacts; fi
travis-artifacts upload --path result_images.tar.bz2;
echo https://s3.amazonaws.com/matplotlib-test-results/artifacts/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}/result_images.tar.bz2;
else
echo "The result images will only be uploaded if they are on the matplotlib/matplotlib repo - this is for security reasons to prevent arbitrary PRs echoing security details."
fi