forked from MRtrix3/mrtrix3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
135 lines (135 loc) · 4.69 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
language: cpp
cache:
apt: true
packages: true
directories:
- $HOME/.cache/pip
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-8
packages:
- g++-9
- clang-8
- zlib1g-dev
- libqt4-opengl-dev
- python3
- python-pip
- python3-pip
- python3-setuptools
matrix:
include:
#################################################
# Run a single OSX job to test compilation only #
#################################################
- os: osx
env: CFLAGS="-Werror" TRAVIS_CXX=clang++ py=python test=build
###############################################
# All subsequent tests are performed on Linux #
###############################################
#####################################################################
# Build binaries, run tests and check documentation: Clang, Python3 #
# (Note: Run this one first, since it'll be the longest job) #
#####################################################################
- os: linux
env: CFLAGS="-Werror" TRAVIS_CXX=clang++-8 py=python3 test=run
#######################################################################
# Build binaries (without optimisation): GCC, Python2 #
# (Also ensures both Python 2 and 3 are tested for configure & build) #
#######################################################################
- os: linux
env: CFLAGS="-Werror" TRAVIS_CXX=g++-9 py=python2 test=build
#######################################################################
# Generate documentation through Sphinx; Use both Python2 and Python3 #
#######################################################################
- os: linux
env: py=python2 test=sphinx
- os: linux
env: py=python3 test=sphinx
###########################################################
# Run the check_syntax script; only needs to be done once #
###########################################################
- os: linux
env: test=syntax
##############################################
# Run PyLint tests; both Python2 and Python3 #
##############################################
- os: linux
env: py=python2 test=pylint
- os: linux
env: py=python3 test=pylint
install:
##################################################
# OSX build requires explicit installation of QT #
##################################################
- |
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
brew install qt5
brew link --force qt5
fi
#########################################
# Installation requirements for MRtrix3 #
#########################################
- export NUMBER_OF_PROCESSORS=2
- export PATH=`pwd`/bin:${PATH}
- export PYTHONPATH=`pwd`/lib:${PYTHONPATH}
- |
if [[ "${test}" == "sphinx" ]]; then
if [[ "${py}" == "python2" ]]; then
pip install urllib3[secure];
pip install --user recommonmark sphinx sphinx-rtd-theme typing;
else
pip3 install --user recommonmark sphinx sphinx-rtd-theme typing;
fi
fi
- |
if [[ "${test}" == "pylint" ]]; then
if [[ "${py}" == "python2" ]]; then
pip install --user pylint;
else
pip3 install --user --upgrade setuptools;
pip3 install --user pylint;
fi
fi
- |
if [[ "${test}" == "build" || "${test}" == "run" ]]; then
export EIGEN_CFLAGS="-idirafter `pwd`/../eigen";
( cd ..; git clone https://github.com/eigenteam/eigen-git-mirror.git eigen; cd eigen; git checkout branches/3.3 )
fi
before_script:
#######################################################################################################################
# TravisCI sets CXX based on what it thinks the compiler should be; therefore we need to set it as late as possible #
# Since this is not needed for the installation section, only for the travis.sh script, moved this to "before_script" #
#######################################################################################################################
- |
if [[ -n "${TRAVIS_CXX}" ]]; then
export CXX=${TRAVIS_CXX}
fi
script:
- ./travis.sh
before_cache:
- rm -f $HOME/.cache/pip/log/debug.log
after_failure:
- |
case "${test}" in # CLICK HERE TO FIND REPORTED ERRORS
"sphinx")
cat sphinx.log
;;
"syntax")
cat syntax.log
;;
"pylint")
cat pylint.log
;;
"build")
cat configure.log
cat build.log
;;
*)
cat configure.log
cat build.log
cat testing.log
cat gitdiff.log
esac
- sleep 10