-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
144 lines (135 loc) · 4.23 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# vim ft=yaml
# Multiple lines can be made a single "virtual line" because of the way that
# Travis munges each line before executing it to print out the exit status.
# It's okay for it to be on multiple physical lines, so long as you remember:
# - There can't be any leading "-"s - All newlines will be removed, so use
# ";"s
sudo: false # To use travis container infrastructure
language: python
cache:
directories:
- $HOME/.cache/pip
env:
global:
- DEPENDS="numpy scipy sympy matplotlib nibabel"
- EXTRA_WHEELS="https://5cf40426d9f06eb7461d-6fe47d9331aba7cd62fc36c7196769e4.ssl.cf2.rackcdn.com"
- PRE_WHEELS="https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com"
- EXTRA_PIP_FLAGS="--find-links=$EXTRA_WHEELS"
- PRE_PIP_FLAGS="--pre $EXTRA_PIP_FLAGS --find-links $PRE_WHEELS"
- INSTALL_TYPE="pip"
python:
- 3.4
- 3.5
- 3.6
matrix:
include:
- python: 2.7
env:
- COVERAGE=1
# Absolute minimum dependencies
- python: 2.7
env:
# Definitive source for these in nipy/info.py
- PRE_DEPENDS="numpy==1.6.0"
- DEPENDS="scipy==0.9.0 sympy==0.7.0 nibabel==1.2.0"
# Test compiling against external lapack
- python: 3.4
env:
- NIPY_EXTERNAL_LAPACK=1
addons:
apt:
packages:
- libblas-dev
- liblapack-dev
- python: 2.7
env:
- INSTALL_TYPE=sdist
- DEPENDS="numpy==1.7.1" # latest travis scipy built with 1.7.1
- python: 2.7
env:
- INSTALL_TYPE=wheel
- DEPENDS="numpy==1.7.1" # latest travis scipy built with 1.7.1
- python: 2.7
env:
- INSTALL_TYPE=requirements
- DEPENDS=
# test 3.5 against pre-release builds of everything
- python: 3.5
env:
- EXTRA_PIP_FLAGS="$PRE_PIP_FLAGS"
# test python setup.py install
- python: 3.5
env:
- INSTALL_TYPE=setup
- python: 3.5
env:
- INSTALL_TYPE="pip_e"
- python: 3.5
env:
- DOC_BUILD=1
addons:
apt:
packages:
- graphviz
- texlive-latex-base
- texlive-latex-extra
- texlive-fonts-recommended
- texlive-latex-recommended
before_install:
- source tools/travis_tools.sh
- python -m pip install --upgrade pip
- pip install --upgrade virtualenv
- virtualenv --python=python venv
- source venv/bin/activate
- python --version # just to check
- pip install -U pip
- pip install nose mock # always
- if [ -n "$PRE_DEPENDS" ]; then
pip install $EXTRA_PIP_FLAGS $PRE_DEPENDS;
fi
- pip install $EXTRA_PIP_FLAGS $DEPENDS
- if [ "${COVERAGE}" == "1" ]; then
pip install coverage;
pip install coveralls codecov;
fi
# command to install dependencies
# e.g. pip install -r requirements.txt # --use-mirrors
install:
- |
if [ "$INSTALL_TYPE" == "pip" ]; then
pip install .
elif [ "$INSTALL_TYPE" == "pip_e" ]; then
pip install -e .
elif [ "$INSTALL_TYPE" == "setup" ]; then
python setup.py install
elif [ "$INSTALL_TYPE" == "sdist" ]; then
python setup_egg.py egg_info # check egg_info while we're here
python setup_egg.py sdist
pip install $EXTRA_PIP_FLAGS dist/*.tar.gz
elif [ "$INSTALL_TYPE" == "wheel" ]; then
pip install wheel
python setup_egg.py bdist_wheel
pip install $EXTRA_PIP_FLAGS dist/*.whl
elif [ "$INSTALL_TYPE" == "requirements" ]; then
pip install $EXTRA_PIP_FLAGS -r requirements.txt
pip install -r requirements.txt
python setup.py install
fi
# command to run tests
script:
- |
if [ "$DOC_BUILD" ]; then # doc build
pip install -r doc-requirements.txt
make html-stamp pdf-stamp
else
# Change into an innocuous directory and find tests from installation
mkdir for_testing
cd for_testing
if [ "${COVERAGE}" == "1" ]; then
cp ../.coveragerc .
COVER_ARGS="--with-coverage --cover-package nipy"
fi
$PYTHON ../tools/nipnost --verbosity=3 $COVER_ARGS nipy
fi
after_success:
- if [ "${COVERAGE}" == "1" ]; then coveralls; codecov; fi