forked from dev-cafe/cmake-cookbook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
154 lines (148 loc) · 4.47 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
145
146
147
148
149
150
151
152
153
154
language: cpp
sudo: false
dist: trusty
matrix:
fast_finish: true
include:
- os: linux
addons: &1
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- chrpath
- doxygen
- g++-7
- g++-mingw-w64
- gcc-7
- gcc-mingw-w64
- gfortran-7
- gfortran-mingw-w64
- graphviz
- libatlas-dev
- liblapack-dev
- liblapacke-dev
- libopenmpi-dev
- libpython3.5-dev
- libzmq3-dev
- openmpi-bin
- pkg-config
- python3.5-dev
- rpm
- uuid-dev
env:
- CMAKE_VERSION="3.12.1"
- CMAKE_GENERATOR="Unix Makefiles"
- BUILDFLAGS="VERBOSE=1"
- os: linux
addons: *1
env:
- CMAKE_VERSION="3.12.1"
- CMAKE_GENERATOR="Unix Makefiles"
- BUILDFLAGS="VERBOSE=1"
- ANACONDA_TESTS_ONLY=1
- os: linux
addons: *1
env:
- CMAKE_VERSION="3.12.1"
- CMAKE_GENERATOR="Ninja"
- BUILDFLAGS="-v"
- os: linux
addons: *1
env:
- CMAKE_VERSION="3.5.2"
- CMAKE_GENERATOR="Unix Makefiles"
- BUILDFLAGS="VERBOSE=1"
- os: linux
addons: *1
env:
- CMAKE_VERSION="3.5.2"
- CMAKE_GENERATOR="Unix Makefiles"
- BUILDFLAGS="VERBOSE=1"
- ANACONDA_TESTS_ONLY=1
- os: linux
addons: *1
env:
- CMAKE_VERSION="3.5.2"
- CMAKE_GENERATOR="Ninja"
- BUILDFLAGS="-v"
- os: osx
osx_image: xcode9.2
env:
- CMAKE_GENERATOR="Unix Makefiles"
- BUILDFLAGS="VERBOSE=1"
- os: osx
osx_image: xcode9.2
env:
- CMAKE_GENERATOR="Unix Makefiles"
- BUILDFLAGS="VERBOSE=1"
- ANACONDA_TESTS_ONLY=1
- os: osx
osx_image: xcode9.2
env:
- CMAKE_GENERATOR="Ninja"
- BUILDFLAGS="-v"
cache:
timeout: 1000
pip: true
directories:
- $HOME/Deps/cmake/3.5.2
- $HOME/Deps/cmake/3.12.1
- $HOME/Deps/eigen
- $HOME/Deps/ninja
- $HOME/Deps/conda
- $HOME/Deps/boost_1.59.0
- $HOME/Library/Caches/Homebrew
env:
global:
- PATH=$HOME/Deps/ninja${PATH:+:$PATH}
- LC_ALL="en_US.UTF-8"
- LANG="en_US.UTF-8"
- LANGUAGE="en_US.UTF-8"
- PYTHONIOENCODING=UTF-8
# Invalidate PYENV_ROOT
- PYENV_ROOT=$HOME/fuffa
before_install:
# Dependencies are downloaded in $HOME/Downloads and installed in $HOME/Deps
- mkdir -p $HOME/Downloads $HOME/Deps
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
export PYTHON3="/usr/bin/python3.5";
else
export PYTHON3="/usr/local/bin/python3";
fi
install:
- ./testing/dependencies/travis/install.sh
- ./testing/dependencies/travis/cmake.sh
- ./testing/dependencies/travis/ninja.sh
- ./testing/dependencies/travis/anaconda.sh
- ./testing/dependencies/travis/eigen.sh
- ./testing/dependencies/travis/boost.sh
- export PATH=$HOME/Deps/cmake/$CMAKE_VERSION/bin${PATH:+:$PATH}
- pipenv install --python $PYTHON3
- pipenv run python --version
before_script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
test -n $CC && unset CC && export CC=gcc-7;
test -n $CXX && unset CXX && export CXX=g++-7;
test -n $FC && unset FC && export FC=gfortran-7;
else
test -n $CC && unset CC && export CC=gcc;
test -n $CXX && unset CXX && export CXX=g++;
test -n $FC && unset FC && export FC=gfortran;
fi
script:
- ./testing/dependencies/report_versions.sh
- if [[ "$ANACONDA_TESTS_ONLY" == 1 ]]; then
travis_wait 20 pipenv run python testing/collect_tests.py 'chapter-11/recipe-04' &&
travis_wait 20 pipenv run python testing/collect_tests.py 'chapter-11/recipe-05';
else
pipenv run python testing/collect_tests.py 'chapter-0[1-7]/recipe-*' &&
pipenv run python testing/collect_tests.py 'chapter-08/recipe-0[1|3-5]' &&
travis_wait 30 pipenv run python testing/collect_tests.py 'chapter-08/recipe-02' &&
pipenv run python testing/collect_tests.py 'chapter-09/recipe-*' &&
pipenv run python testing/collect_tests.py 'chapter-10/recipe-*' &&
pipenv run python testing/collect_tests.py 'chapter-11/recipe-0[1-3]' &&
pipenv run python testing/collect_tests.py 'chapter-12/recipe-*' &&
pipenv run python testing/collect_tests.py 'chapter-13/recipe-*' &&
pipenv run python testing/collect_tests.py 'chapter-14/recipe-*';
fi