@@ -12,22 +12,20 @@ sudo: false
1212cache :
1313 directories :
1414 - $HOME/.cache/pip
15-
16- addons :
17- apt :
18- packages :
19- - libhdf5-serial-dev
20-
2115env :
2216 global :
23- - DEPENDS="numpy scipy matplotlib h5py"
17+ - DEPENDS="six numpy scipy matplotlib h5py pillow"
18+ - OPTIONAL_DEPENDS=""
2419 - PYDICOM=1
2520 - INSTALL_TYPE="setup"
21+ - EXTRA_WHEELS="https://5cf40426d9f06eb7461d-6fe47d9331aba7cd62fc36c7196769e4.ssl.cf2.rackcdn.com"
22+ - PRE_WHEELS="https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com"
23+ - EXTRA_PIP_FLAGS="--find-links=$EXTRA_WHEELS"
24+ - PRE_PIP_FLAGS="--pre $EXTRA_PIP_FLAGS --find-links $PRE_WHEELS"
2625python :
27- - 2.6
28- - 3.3
2926 - 3.4
3027 - 3.5
28+ - 3.6
3129matrix :
3230 include :
3331 - python : 2.7
@@ -36,15 +34,35 @@ matrix:
3634 # Absolute minimum dependencies
3735 - python : 2.7
3836 env :
39- - DEPENDS=numpy==1.5.1 PYDICOM=0
37+ - DEPENDS="numpy==1.7.1" PYDICOM=0
38+ # Absolute minimum dependencies plus oldest MPL
39+ # Check these against:
40+ # nibabel/info.py
41+ # doc/source/installation.rst
42+ # requirements.txt
43+ - python : 2.7
44+ env :
45+ - DEPENDS="numpy==1.7.1 matplotlib==1.3.1" PYDICOM=0
4046 # Minimum pydicom dependency
4147 - python : 2.7
4248 env :
43- - DEPENDS="numpy==1.5.1 pydicom==0.9.7"
49+ - DEPENDS="numpy==1.7.1 pydicom==0.9.7 pillow==2.6"
50+ # test against numpy 1.7
51+ - python : 2.7
52+ env :
53+ - DEPENDS="numpy==1.7.1"
4454 # pydicom 1.0 (currently unreleased)
4555 - python : 2.7
4656 env :
4757 - PYDICOM="v1.0"
58+ # test 2.7 against pre-release builds of everything
59+ - python : 2.7
60+ env :
61+ - EXTRA_PIP_FLAGS="$PRE_PIP_FLAGS"
62+ # test 3.5 against pre-release builds of everything
63+ - python : 3.5
64+ env :
65+ - EXTRA_PIP_FLAGS="$PRE_PIP_FLAGS"
4866 # Documentation doctests
4967 - python : 2.7
5068 env :
@@ -64,14 +82,26 @@ matrix:
6482 - python : 3.5
6583 env :
6684 - STYLE=1
85+ - python : 3.5
86+ env :
87+ - DOC_DOC_TEST=1
88+ # Run tests with indexed_gzip present
89+ - python : 2.7
90+ env :
91+ - OPTIONAL_DEPENDS="indexed_gzip"
92+ - python : 3.5
93+ env :
94+ - OPTIONAL_DEPENDS="indexed_gzip"
6795before_install :
6896 - source tools/travis_tools.sh
97+ - python -m pip install --upgrade pip
98+ - pip install --upgrade virtualenv
6999 - virtualenv --python=python venv
70100 - source venv/bin/activate
71101 - python --version # just to check
72- - pip install -U pip wheel # upgrade to latest pip find 3.5 wheels; wheel to avoid errors
73- - retry pip install nose flake8 # always
74- - wheelhouse_pip_install $ DEPENDS
102+ - pip install -U pip wheel # needed at one point
103+ - retry pip install nose flake8 mock # always
104+ - pip install $EXTRA_PIP_FLAGS $ DEPENDS $OPTIONAL_DEPENDS
75105 # pydicom <= 0.9.8 doesn't install on python 3
76106 - if [ "${TRAVIS_PYTHON_VERSION:0:1}" == "2" ]; then
77107 if [ "$PYDICOM" == "1" ]; then
@@ -83,6 +113,7 @@ before_install:
83113 - if [ "${COVERAGE}" == "1" ]; then
84114 pip install coverage;
85115 pip install coveralls;
116+ pip install codecov;
86117 fi
87118# command to install dependencies
88119install :
@@ -92,13 +123,13 @@ install:
92123 elif [ "$INSTALL_TYPE" == "sdist" ]; then
93124 python setup_egg.py egg_info # check egg_info while we're here
94125 python setup_egg.py sdist
95- wheelhouse_pip_install dist/*.tar.gz
126+ pip install $EXTRA_PIP_FLAGS dist/*.tar.gz
96127 elif [ "$INSTALL_TYPE" == "wheel" ]; then
97128 pip install wheel
98129 python setup_egg.py bdist_wheel
99- wheelhouse_pip_install dist/*.whl
130+ pip install $EXTRA_PIP_FLAGS dist/*.whl
100131 elif [ "$INSTALL_TYPE" == "requirements" ]; then
101- wheelhouse_pip_install -r requirements.txt
132+ pip install $EXTRA_PIP_FLAGS -r requirements.txt
102133 python setup.py install
103134 fi
104135 # Point to nibabel data directory
@@ -118,16 +149,16 @@ script:
118149 COVER_ARGS="--with-coverage --cover-package nibabel";
119150 fi
120151 if [ "$DOC_DOC_TEST" == "1" ]; then
121- pip install sphinx numpydoc texext;
122152 cd ../doc;
153+ pip install -r ../doc-requirements.txt
123154 make html;
124155 make doctest;
125156 else
126157 nosetests --with-doctest $COVER_ARGS nibabel;
127158 fi
128159 fi
129160after_success :
130- - if [ "${COVERAGE}" == "1" ]; then coveralls; fi
161+ - if [ "${COVERAGE}" == "1" ]; then coveralls; codecov; fi
131162
132163notifications :
133164 webhooks : http://nipy.bic.berkeley.edu:54856/travis
0 commit comments