forked from arbor-sim/arbor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
155 lines (141 loc) · 4.18 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
######## Testing minimal compiler requirements ########
# GCC 6.4.0
# Clang 7.0
# Apple Clang 1100.0.33.16
#######################################################
language: cpp
sudo: false
matrix:
include:
########################## OS X #########################
## test gcc6 - single node/rank with threading backend ##
- name: "osx, gcc, serial, py"
os: osx
osx_image: xcode11.3
python: 3.6
env:
- MATRIX_EVAL="brew install gcc@6 && brew link --force --overwrite gcc@6 && brew install cmake && CC=gcc-6 && CXX=g++-6"
- BUILD_NAME=cthread-osx-gcc-py
- WITH_DISTRIBUTED=serial WITH_PYTHON=true PY=3
compiler: gcc-6
## test gcc6 - mpi with threading backend ##
- name: "osx, gcc, mpi, py"
os: osx
osx_image: xcode11.3
python: 3.6
env:
- MATRIX_EVAL="brew install gcc@6 && brew link --force --overwrite gcc@6 && brew install cmake && CC=gcc-6 && CXX=g++-6"
- BUILD_NAME=mpi-osx-gcc-py
- WITH_DISTRIBUTED=mpi WITH_PYTHON=true PY=3
compiler: gcc-6
## test clang9 - single node/rank with threading backend ##
- name: "osx, apple clang, serial, py"
os: osx
osx_image: xcode11.3
python: 3.6
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- BUILD_NAME=cthread-osx-clang-py
- WITH_DISTRIBUTED=serial WITH_PYTHON=true PY=3
compiler: clang
## test clang9 - mpi with threading backend ##
- name: "osx, apple clang, mpi, py"
os: osx
osx_image: xcode11.3
python: 3.6
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- BUILD_NAME=mpi-osx-clang
- WITH_DISTRIBUTED=mpi WITH_PYTHON=true PY=3
compiler: clang
######################### LINUX #########################
## test gcc6 - single node/rank with threading backend ##
- name: "linux, gcc, serial, py"
os: linux
dist: bionic
addons:
apt:
sources:
packages:
- g++-6
- openmpi-bin
- libopenmpi-dev
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
- BUILD_NAME=cthread-linux-gcc-py
- WITH_DISTRIBUTED=serial WITH_PYTHON=true PY=3
compiler: gcc-6
## test gcc6 - mpi with threading backend ##
- name: "linux, gcc, mpi, py"
os: linux
dist: bionic
addons:
apt:
sources:
packages:
- g++-6
- openmpi-bin
- libopenmpi-dev
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
- BUILD_NAME=mpi-linux-gcc-py
- WITH_DISTRIBUTED=mpi WITH_PYTHON=true PY=3
compiler: gcc-6
## test clang4 - single node/rank with threading backend ##
- name: "linux, clang, serial, py"
os: linux
dist: bionic
addons:
apt:
sources:
packages:
- openmpi-bin
- libopenmpi-dev
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- BUILD_NAME=cthread-linux-clang-py
- WITH_DISTRIBUTED=serial WITH_PYTHON=true PY=3
compiler: clang-4.0
## test clang4 - mpi with threading backend ##
- name: "linux, clang, mpi, py"
os: linux
dist: bionic
addons:
apt:
sources:
packages:
- openmpi-bin
- libopenmpi-dev
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- BUILD_NAME=mpi-linux-clang-py
- WITH_DISTRIBUTED=mpi WITH_PYTHON=true PY=3
compiler: clang-4.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 --version
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