@@ -55,38 +55,42 @@ matrix:
5555 - python : " nightly"
5656
5757before_install :
58- - source ci/travis/travis_tools.sh
59- # Install into our own pristine virtualenv
60- - virtualenv --python=python venv
61- - source venv/bin/activate
62- - export PATH=/usr/lib/ccache:$PATH
58+ - |
59+ # Install into our own pristine virtualenv
60+ source ci/travis/travis_tools.sh
61+ virtualenv --python=python venv
62+ source venv/bin/activate
63+ export PATH=/usr/lib/ccache:$PATH
6364
6465install :
65- - ccache -s
66- # Upgrade pip and setuptools. Mock has issues with the default version of
67- # setuptools
6866 - |
67+ # Setup environment
68+ ccache -s
69+ # Upgrade pip and setuptools and wheel to get as clean an install as possible
6970 pip install --upgrade pip
7071 pip install --upgrade wheel
7172 pip install --upgrade setuptools
72- # Install only from travis wheelhouse
73- - if [ -z "$PRE" ]; then
74- wheelhouse_pip_install python-dateutil $NUMPY $PANDAS pyparsing!=2.0.4 pillow sphinx!=1.3.0 $MOCK;
73+ - |
74+ # Install dependencies
75+ if [ -z "$PRE" ]; then
76+ # Install only from travis wheelhouse
77+ wheelhouse_pip_install $NUMPY $PANDAS;
7578 else
76- pip install $PRE python-dateutil $NUMPY pyparsing!=2.0.4 pillow sphinx!=1.3.0;
79+ # Fall back to pypi for non suported python versions
80+ pip install $PRE $NUMPY $PANDAS;
7781 fi
78- # Always install from pypi
79- - pip install $PRE pep8 cycler coveralls coverage
80- - ' pip install git+https://github.com/jenshnielsen/nose.git@matplotlibnose'
82+ # Always install from pypi
83+ pip install $PRE pep8 cycler coveralls coverage python-dateutil pyparsing!=2.0.4
84+ pip install pillow sphinx!=1.3.0 $MOCK numpydoc ipython colorspacious
85+ # Install nose from a build which has partial
86+ # support for python36 and suport for coverage output suppressing
87+ pip install git+https://github.com/jenshnielsen/nose.git@matplotlibnose
8188
82- # We manually install humor sans using the package from Ubuntu 14.10. Unfortunatly humor sans is not
83- # availible in the Ubuntu version used by Travis but we can manually install the deb from a later
84- # version since is it basically just a .ttf file
85- # The current Travis Ubuntu image is to old to search .local/share/fonts so we store fonts in .fonts
86-
87- - |
89+ # We manually install humor sans using the package from Ubuntu 14.10. Unfortunatly humor sans is not
90+ # availible in the Ubuntu version used by Travis but we can manually install the deb from a later
91+ # version since is it basically just a .ttf file
92+ # The current Travis Ubuntu image is to old to search .local/share/fonts so we store fonts in .fonts
8893 if [[ $BUILD_DOCS == true ]]; then
89- pip install $PRE numpydoc ipython colorspacious
9094 wget https://github.com/google/fonts/blob/master/ofl/felipa/Felipa-Regular.ttf?raw=true -O Felipa-Regular.ttf
9195 wget http://mirrors.kernel.org/ubuntu/pool/universe/f/fonts-humor-sans/fonts-humor-sans_1.0-1_all.deb
9296 mkdir -p tmp
@@ -99,16 +103,17 @@ install:
99103 # Use the special local version of freetype for testing
100104 cp ci/travis/setup.cfg .
101105 fi;
102-
103- - pip install -e .
106+ - |
107+ # Install matplotlib
108+ pip install -e .
104109
105110script :
106111 # The number of processes is hardcoded, because using too many causes the
107112 # Travis VM to run out of memory (since so many copies of inkscape and
108113 # ghostscript are running at the same time).
109- - echo Testing using $NPROC processes
110- - echo The following args are passed to nose $NOSE_ARGS
111114 - |
115+ echo Testing using $NPROC processes
116+ echo The following args are passed to nose $NOSE_ARGS
112117 if [[ $BUILD_DOCS == false ]]; then
113118 export MPL_REPO_DIR=$PWD # needed for pep8-conformance test of the examples
114119 gdb -return-child-result -batch -ex r -ex bt --args python tests.py $NOSE_ARGS $TEST_ARGS
@@ -117,52 +122,54 @@ script:
117122 python make.py html --small --warningsaserrors
118123 # We don't build the LaTeX docs here, so linkchecker will complain
119124 touch build/html/Matplotlib.pdf
125+ # Linkchecker only works with python 2.7 for the time being
120126 deactivate
121127 source ~/virtualenv/python2.7/bin/activate
128+ pip install pip --upgrade
122129 pip install linkchecker
123130 linkchecker build/html/index.html
124131 fi
125132
126133after_failure :
127- |
128- if [[ $BUILD_DOCS == false && $TRAVIS_PULL_REQUEST == false && $TRAVIS_REPO_SLUG == 'matplotlib/matplotlib' ]]; then
129- gem install travis-artifacts
130- cd $TRAVIS_BUILD_DIR/../tmp_test_dir
131- tar cjf result_images.tar.bz2 result_images
132- travis-artifacts upload --path result_images.tar.bz2
133- echo https://s3.amazonaws.com/matplotlib-test-results/artifacts/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}/result_images.tar.bz2
134- else
135- 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."
136- fi
134+ - |
135+ if [[ $BUILD_DOCS == false && $TRAVIS_PULL_REQUEST == false && $TRAVIS_REPO_SLUG == 'matplotlib/matplotlib' ]]; then
136+ gem install travis-artifacts
137+ cd $TRAVIS_BUILD_DIR/../tmp_test_dir
138+ tar cjf result_images.tar.bz2 result_images
139+ travis-artifacts upload --path result_images.tar.bz2
140+ echo https://s3.amazonaws.com/matplotlib-test-results/artifacts/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}/result_images.tar.bz2
141+ else
142+ 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."
143+ fi
137144
138145after_success :
139- |
140- if [[ $TRAVIS_PULL_REQUEST == false && $TRAVIS_REPO_SLUG == 'matplotlib/matplotlib' && $BUILD_DOCS == true && $TRAVIS_BRANCH == 'master' ]]; then
141- cd $TRAVIS_BUILD_DIR
142- echo "Uploading documentation"
143- openssl aes-256-cbc -K $encrypted_cc802e084cd0_key -iv $encrypted_cc802e084cd0_iv -in ci/travis/matplotlibDeployKey.enc -out ci/travis/matplotlibDeployKey -d
144- eval `ssh-agent -s`
145- chmod 600 ci/travis/matplotlibDeployKey
146- ssh-add ci/travis/matplotlibDeployKey
147- cd ..
148- git clone [email protected] :matplotlib/devdocs.git 149- cd devdocs
150- git checkout --orphan gh-pages
151- git reset --hard first_commit
152- cp -R ../matplotlib/doc/build/html/. .
153- touch .nojekyll
154- git config --global user.email "MatplotlibTravisBot@nomail"
155- git config --global user.name "MatplotlibTravisBot"
156- git config --global push.default simple
157- git add .
158- git commit -m "Docs build of $TRAVIS_COMMIT"
159- git push --set-upstream origin gh-pages --force
160- else
161- echo "Will only deploy docs build from matplotlib master branch"
162- fi
163- if [[ $TRAVIS_PULL_REQUEST == false ]] && \
164- [[ $TRAVIS_REPO_SLUG == 'matplotlib/matplotlib' ]] && \
165- [[ $TRAVIS_BRANCH == 'master' ]]; then
146+ - |
147+ if [[ $TRAVIS_PULL_REQUEST == false && $TRAVIS_REPO_SLUG == 'matplotlib/matplotlib' && $BUILD_DOCS == true && $TRAVIS_BRANCH == 'master' ]]; then
148+ cd $TRAVIS_BUILD_DIR
149+ echo "Uploading documentation"
150+ openssl aes-256-cbc -K $encrypted_cc802e084cd0_key -iv $encrypted_cc802e084cd0_iv -in ci/travis/matplotlibDeployKey.enc -out ci/travis/matplotlibDeployKey -d
151+ eval `ssh-agent -s`
152+ chmod 600 ci/travis/matplotlibDeployKey
153+ ssh-add ci/travis/matplotlibDeployKey
154+ cd ..
155+ git clone [email protected] :matplotlib/devdocs.git 156+ cd devdocs
157+ git checkout --orphan gh-pages
158+ git reset --hard first_commit
159+ cp -R ../matplotlib/doc/build/html/. .
160+ touch .nojekyll
161+ git config --global user.email "MatplotlibTravisBot@nomail"
162+ git config --global user.name "MatplotlibTravisBot"
163+ git config --global push.default simple
164+ git add .
165+ git commit -m "Docs build of $TRAVIS_COMMIT"
166+ git push --set-upstream origin gh-pages --force
167+ else
168+ echo "Will only deploy docs build from matplotlib master branch"
169+ fi
170+ if [[ $TRAVIS_PULL_REQUEST == false ]] && \
171+ [[ $TRAVIS_REPO_SLUG == 'matplotlib/matplotlib' ]] && \
172+ [[ $TRAVIS_BRANCH == 'master' ]]; then
166173 cd $TRAVIS_BUILD_DIR
167174 python ci/travis/travis_after_all.py
168175 export $(cat .to_export_back)
@@ -174,7 +181,7 @@ after_success:
174181 echo "Some Failed; no OSX build"
175182 fi
176183 fi
177- fi
178- if [[ $NOSE_ARGS="--with-coverage" ]]; then
179- coveralls
180- fi
184+ fi
185+ if [[ $NOSE_ARGS="--with-coverage" ]]; then
186+ coveralls
187+ fi
0 commit comments