forked from arbor-sim/arbor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
170 lines (155 loc) · 4.73 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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
######## Testing minimal compiler requirements ########
# GCC 8.1.0
# Clang 8.0
# Apple Clang 1100.0.33.16
#######################################################
# Ignore bors testing branches.
if: NOT branch =~ \.tmp$
language: cpp
sudo: false
matrix:
include:
########################## OS X #########################
## test gcc8 - single node/rank with threading backend ##
- name: "osx, gcc, serial, py"
os: osx
osx_image: xcode12
python: 3.6
env:
- MATRIX_EVAL="brew install gcc@8 && brew link --force --overwrite gcc@8 && brew install cmake && CC=gcc-8 && CXX=g++-8"
- BUILD_NAME=cthread-osx-gcc-py
- WITH_DISTRIBUTED=serial WITH_PYTHON=true PY=3 WITH_NEUROML=ON ARCH=native
compiler: gcc-8
## test gcc8 - mpi with threading backend ##
- name: "osx, gcc, mpi, py"
os: osx
osx_image: xcode12
python: 3.6
env:
- MATRIX_EVAL="brew install gcc@8 && brew link --force --overwrite gcc@8 && brew install cmake && CC=gcc-8 && CXX=g++-8"
- BUILD_NAME=mpi-osx-gcc-py
- WITH_DISTRIBUTED=mpi WITH_PYTHON=true PY=3 WITH_NEUROML=ON ARCH=native
compiler: gcc-8
## test clang9 - single node/rank with threading backend ##
- name: "osx, apple clang, serial, py"
os: osx
osx_image: xcode12
python: 3.6
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- BUILD_NAME=cthread-osx-clang-py
- WITH_DISTRIBUTED=serial WITH_PYTHON=true PY=3 WITH_NEUROML=ON ARCH=native
compiler: clang
## test clang9 - mpi with threading backend ##
- name: "osx, apple clang, mpi, py"
os: osx
osx_image: xcode12
python: 3.6
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- BUILD_NAME=mpi-osx-clang
- WITH_DISTRIBUTED=mpi WITH_PYTHON=true PY=3 WITH_NEUROML=ON ARCH=native
compiler: clang
######################### LINUX #########################
## test gcc8 - single node/rank with threading backend ##
- name: "linux, gcc, serial, py"
os: linux
dist: bionic
addons:
apt:
sources:
packages:
- g++-8
- openmpi-bin
- libopenmpi-dev
- libxml2
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
- BUILD_NAME=cthread-linux-gcc-py
- WITH_DISTRIBUTED=serial WITH_PYTHON=true PY=3 WITH_NEUROML=ON ARCH=haswell
compiler: gcc-8
## test gcc8 - mpi with threading backend ##
- name: "linux, gcc, mpi, py"
os: linux
dist: bionic
addons:
apt:
sources:
packages:
- g++-8
- openmpi-bin
- libopenmpi-dev
- libxml2
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
- BUILD_NAME=mpi-linux-gcc-py
- WITH_DISTRIBUTED=mpi WITH_PYTHON=true PY=3 WITH_NEUROML=ON ARCH=haswell
compiler: gcc-8
## test clang8 - single node/rank with threading backend ##
# Note: need g++8 for C++17 stdlib.
- name: "linux, clang, serial, py"
os: linux
dist: bionic
addons:
apt:
sources:
packages:
- g++-8
- clang-8
- openmpi-bin
- libopenmpi-dev
- libxml2
env:
- MATRIX_EVAL="CC=clang-8 && CXX=clang++-8"
- BUILD_NAME=cthread-linux-clang-py
- WITH_DISTRIBUTED=serial WITH_PYTHON=true PY=3 WITH_NEUROML=ON ARCH=native
compiler: clang-8.0
## test clang8 - mpi with threading backend ##
# Note: need g++8 for C++17 stdlib.
- name: "linux, clang, mpi, py"
os: linux
dist: bionic
addons:
apt:
sources:
packages:
- g++-8
- clang-8
- openmpi-bin
- libopenmpi-dev
- libxml2
env:
- MATRIX_EVAL="CC=clang-8 && CXX=clang++-8"
- BUILD_NAME=mpi-linux-clang-py
- WITH_DISTRIBUTED=mpi WITH_PYTHON=true PY=3 WITH_NEUROML=ON ARCH=native
compiler: clang-8.0
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export HOMEBREW_NO_AUTO_UPDATE=1; brew cask uninstall --force oclint; fi
install:
- |
if [[ "$WITH_PYTHON" == "true" ]]; then
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python$PY get-pip.py
pip$PY --version
pip$PY install pandas
pip$PY install seaborn
fi
- if [[ ( "$WITH_PYTHON" == "true" ) && ( "$TRAVIS_OS_NAME" == "osx" ) ]]; then pip$PY install numpy; fi
- |
if [[ "$WITH_DISTRIBUTED" == "mpi" ]]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew install open-mpi;
if [[ "$WITH_PYTHON" == "true" ]]; then
pip$PY install mpi4py
fi
elif [[ ( "$TRAVIS_OS_NAME" == "linux" ) && ( "$WITH_PYTHON" == "true" ) ]]; then
pip$PY install mpi4py
fi
fi
before_script:
- eval "${MATRIX_EVAL}"
script: source ./scripts/travis/build.sh
notifications:
email:
on_success: never
on_failure: always