Push parts of travis into separate shell scripts

This commit is contained in:
Steven Silvester
2014-10-11 04:58:07 -05:00
parent 93d8bce621
commit cf7c8750b5
4 changed files with 76 additions and 92 deletions
+3 -72
View File
@@ -22,19 +22,7 @@ before_install:
- sh -e /etc/init.d/xvfb start
- sudo apt-get update
- travis_retry pip install wheel flake8 coveralls nose
- travis_retry pip uninstall -y numpy
# on Python 2.7, use the system versions of numpy, scipy, and matplotlib
# and the minimum version of cython and networkx
- if [[ $TRAVIS_PYTHON_VERSION == 2.7* ]]; then
travis_retry sudo apt-get install python-scipy python-matplotlib;
pip install https://github.com/cython/cython/archive/0.19.2.tar.gz;
pip install https://github.com/networkx/networkx/archive/networkx-1.8.tar.gz;
fi
- travis_retry pip install -r requirements.txt $WHEELHOUSE;
- python check_bento_build.py
- tools/travis_setup.sh
install:
- tools/header.py "Dependency versions"
@@ -43,64 +31,7 @@ install:
- python setup.py build_ext --inplace
script:
- tools/header.py "Run all tests with minimum dependencies"
- nosetests --exe -v skimage
- tools/header.py "Pep8 and Flake tests"
- flake8 --exit-zero --exclude=test_*,six.py skimage doc/examples viewer_examples
- tools/header.py "Install optional dependencies"
# Install Qt and then update the Matplotlib settings
- if [[ $TRAVIS_PYTHON_VERSION == 2.7* ]]; then
sudo apt-get install -q python-qt4;
export SCI_QT_API=PyQt4;
else
sudo apt-get install -q libqt4-dev;
travis_retry pip install PySide $WHEELHOUSE;
python ~/virtualenv/python${TRAVIS_PYTHON_VERSION}/bin/pyside_postinstall.py -install;
export SCI_QT_API=Pyside;
fi
# Matplotlib settings - must be after we install Pyside
- export MPL_DIR=$HOME/.config/matplotlib
- mkdir -p $MPL_DIR
- touch $MPL_DIR/matplotlibrc
- "echo 'backend : Agg' > $MPL_DIR/matplotlibrc"
- "echo 'backend.qt4 : '$SCI_QT_API >> $MPL_DIR/matplotlibrc"
# - imread does NOT support py3.2
- if [[ $TRAVIS_PYTHON_VERSION != 3.2 ]]; then
sudo apt-get install -q libtiff4-dev libwebp-dev libpng12-dev xcftools;
travis_retry pip install imread;
fi
# TODO: update when SimpleITK become available on py34 or hopefully pip
- if [[ $TRAVIS_PYTHON_VERSION != 3.4 ]]; then
travis_retry easy_install SimpleITK;
fi
- travis_retry sudo apt-get install libfreeimage3
- travis_retry pip install astropy
- if [[ $TRAVIS_PYTHON_VERSION == 2.* ]]; then
travis_retry pip install pyamg;
fi
- tools/header.py "Run doc examples"
- export PYTHONPATH=$(pwd):$PYTHONPATH
- for f in doc/examples/*.py; do python "$f"; if [ $? -ne 0 ]; then exit 1; fi done
- for f in doc/examples/applications/*.py; do python "$f"; if [ $? -ne 0 ]; then exit 1; fi done
- tools/header.py "Run tests with all dependencies"
# run tests again with optional dependencies to get more coverage
# measure coverage on py3.3
- if [[ $TRAVIS_PYTHON_VERSION == 3.3 ]]; then
nosetests --exe -v --with-doctest --with-cov --cover-package skimage;
else
nosetests --exe -v --with-doctest skimage;
fi
- tools/travis_build.sh
after_success:
- coveralls;
- coveralls
+2 -20
View File
@@ -3,26 +3,8 @@
http://lint.travis-ci.org/ is recommended elsewhere but does not give helpful
error reports.
- Make sure all of your "-" lines start on the same column
- Make sure all of your "if" lines are aligned with the "else" and "fi" lines
- Recommend using tab stops (but not tab chars) everywhere for alignment
- "If" blocks must be on one travis statement and have semicolons at the
end of each line:
```
- if [[ $TRAVIS_PYTHON_VERSION == 2.7 ]]; then
echo "2.7";
else
echo "Not 2.7";
end
```
- "If" blocks cannot contain comments
- All travis commands are run with `eval` and quotes are taken as literal
characters unless you wrap the whole line in quotes:
`echo "hello : world"` is interpreted as `echo \"hello : world\"`
`"echo 'hello : world'"` is interpreted as `echo 'hello : world'`
`"echo 'hello : '$(MYVAR)'world'"` is interpreted as
`echo 'hello : $(MYVAR)world'`
- Use shell scripts for `before_install` and `script` or any part that
has conditional statements
- Use `travis_retry` before a command to have it try several times before
failing (useful for installing from third party sources)
- Feel free to cancel a build rather than waiting for it to go to completion
+59
View File
@@ -0,0 +1,59 @@
./header.py "Run all tests with minimum dependencies"
nosetests --exe -v skimage
./header.py "Pep8 and Flake tests"
flake8 --exit-zero --exclude=test_*,six.py skimage doc/examples viewer_examples
./header.py "Install optional dependencies"
# Install Qt and then update the Matplotlib settings
if [[ $TRAVIS_PYTHON_VERSION == 2.7* ]]; then
sudo apt-get install -q python-qt4
export SCI_QT_API=PyQt4
else
sudo apt-get install -q libqt4-dev
travis_retry pip install PySide $WHEELHOUSE
python ~/virtualenv/python${TRAVIS_PYTHON_VERSION}/bin/pyside_postinstall.py -install
export SCI_QT_API=PySide
fi
# Matplotlib settings - must be after we install Pyside
export MPL_DIR=$HOME/.config/matplotlib
mkdir -p $MPL_DIR
touch $MPL_DIR/matplotlibrc
echo 'backend : Agg' > $MPL_DIR/matplotlibrc
echo 'backend.qt4 : '$SCI_QT_API >> $MPL_DIR/matplotlibrc
# imread does NOT support py3.2
if [[ $TRAVIS_PYTHON_VERSION != 3.2 ]]; then
sudo apt-get install -q libtiff4-dev libwebp-dev libpng12-dev xcftools
travis_retry pip install imread
fi
# TODO: update when SimpleITK become available on py34 or hopefully pip
if [[ $TRAVIS_PYTHON_VERSION != 3.4 ]]; then
travis_retry easy_install SimpleITK
fi
travis_retry sudo apt-get install libfreeimage3
travis_retry pip install astropy
if [[ $TRAVIS_PYTHON_VERSION == 2.* ]]; then
travis_retry pip install pyamg
fi
./header.py "Run doc examples"
export PYTHONPATH=$(pwd):$PYTHONPATH
for f in doc/examples/*.py; do python "$f"; if [ $? -ne 0 ]; then exit 1; fi done
for f in doc/examples/applications/*.py; do python "$f"; if [ $? -ne 0 ]; then exit 1; fi done
./header.py "Run tests with all dependencies"
# run tests again with optional dependencies to get more coverage
# measure coverage on py3.3
if [[ $TRAVIS_PYTHON_VERSION == 3.3 ]]; then
nosetests --exe -v --with-doctest --with-cov --cover-package skimage
else
nosetests --exe -v --with-doctest skimage
fi
+12
View File
@@ -0,0 +1,12 @@
travis_retry pip install wheel flake8 coveralls nose
# on Python 2.7, use the system versions of numpy, scipy, and matplotlib
# and the minimum version of cython and networkx
if [[ $TRAVIS_PYTHON_VERSION == 2.7* ]]; then
travis_retry sudo apt-get install python-scipy python-matplotlib
pip install https://github.com/cython/cython/archive/0.19.2.tar.gz
pip install https://github.com/networkx/networkx/archive/networkx-1.8.tar.gz
fi
travis_retry pip install -r requirements.txt $WHEELHOUSE
python check_bento_build.py