forked from ParRes/Kernels
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
176 lines (176 loc) · 5.34 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
171
172
173
174
175
176
sudo: true
language: cpp
python:
- "3.7"
env:
matrix:
- PRK_TARGET=allserial
- PRK_TARGET=allc1z
- PRK_TARGET=allcxx
- PRK_TARGET=allpython
- PRK_TARGET=alljulia
#- PRK_TARGET=allrust
#- PRK_TARGET=allopenmp
- PRK_TARGET=allfortran
#- PRK_TARGET=allmpi
#- PRK_TARGET=allshmem
#- PRK_TARGET=allampi
#- PRK_TARGET=allfgmpi
#- PRK_TARGET=allcharm++
#- PRK_TARGET=allgrappa
#- PRK_TARGET=allupc UPC_IMPL=gupc
#- PRK_TARGET=allupc UPC_IMPL=bupc GASNET_CONDUIT=smp PRK_FLAGS="-Wc,-O3"
# Octave is working but it takes forever to brew (~20 minutes).
#- PRK_TARGET=alloctave
# This works but we don't need to test it.
#- PRK_TARGET=allupc UPC_IMPL=bupc GASNET_CONDUIT=udp PRK_FLAGS="-Wc,-O3"
# Optional: We do not need to test BUPC this thoroughly every time
#- PRK_TARGET=allupc UPC_IMPL=bupc GASNET_CONDUIT=mpi PRK_FLAGS="-Wc,-O3"
#- PRK_TARGET=allupc UPC_IMPL=bupc GASNET_CONDUIT=ofi PRK_FLAGS="-Wc,-O3"
# Chapel kernels are not merged yet. Activate these when they are.
#- PRK_TARGET=allchapel CHPL_COMM=none
#- PRK_TARGET=allchapel CHPL_COMM=gasnet
# HPX-3 kernels are not merged yet. Activate these when they are.
#- PRK_TARGET=allhpx3
# HPX-5 kernels are not merged yet. Activate these when they are.
#- PRK_TARGET=allhpx5
# this is for Python, per http://danielnouri.org/notes/2012/11/23/use-apt-get-to-install-python-dependencies-for-travis-ci/
virtualenv:
system_site_packages: true
os:
- linux
- osx
compiler:
- gcc
- clang
matrix:
exclude:
# There is nothing inherently wrong with GCC@OSX but Travis CI MacOS throughput is low, so focus on Clang@OSX.
- os: osx
compiler: gcc
env: PRK_TARGET=allserial
- os: osx
compiler: gcc
env: PRK_TARGET=allc1z
- os: osx
compiler: gcc
env: PRK_TARGET=allshmem
- os: osx
compiler: gcc
env: PRK_TARGET=allampi
- os: osx
compiler: gcc
env: PRK_TARGET=allcharm++
- os: osx
compiler: gcc
env: PRK_TARGET=allmpi
# Clang does not support OpenMP yet and not willing to build from source. Save this for Mac where we can Brew it.
- os: linux
compiler: clang
env: PRK_TARGET=allopenmp
# dealing with broken GCC on Mac not worth it here
- os: osx
compiler: gcc
env: PRK_TARGET=allopenmp
# Clang UPC requires source build, which probably takes too long
- compiler: clang
env: PRK_TARGET=allupc UPC_IMPL=gupc
# Source build impossible (too much time+stdout)
- os: osx
env: PRK_TARGET=allupc UPC_IMPL=gupc
- compiler: clang
env: PRK_TARGET=allupc UPC_IMPL=gupc
# Revisit this once Grappa is working with Clang
- compiler: gcc
env: PRK_TARGET=allgrappa
# Mac + Chapel + GASNet does not work and I do not care
- os: osx
env: PRK_TARGET=allchapel CHPL_COMM=gasnet
# UPC GASNet OFI conduit is busted, perhaps due to SSH spawner
- env: PRK_TARGET=allupc UPC_IMPL=bupc GASNET_CONDUIT=ofi PRK_FLAGS="-Wc,-O3"
# probably because of old GCC (4.6)
- os: linux
compiler: gcc
env: PRK_TARGET=allhpx5
# Travis whitelist missing three Boost packages HPX-3 needs
- os: linux
env: PRK_TARGET=allhpx3
# LLVM Fortran is not ready.
- compiler: clang
env: PRK_TARGET=allfortran
# Skip Linux because we rely on Homebrew for these
- os: linux
env: PRK_TARGET=alloctave
- os: linux
env: PRK_TARGET=allrust
# Python/Julia/Octave does not use compiler so only test one of them per OS (Clang)
# GCC
- compiler: gcc
env: PRK_TARGET=allpython
- compiler: gcc
env: PRK_TARGET=alloctave
- compiler: gcc
env: PRK_TARGET=alljulia
- compiler: gcc
env: PRK_TARGET=allrust
# UPC over MPICH on Mac hangs - may be async progress issue
- os: osx
env: PRK_TARGET=allupc UPC_IMPL=bupc GASNET_CONDUIT=mpi PRK_FLAGS="-Wc,-O3"
# BUPC on Mac is annoying
- os: osx
env: PRK_TARGET=allupc UPC_IMPL=bupc GASNET_CONDUIT=udp PRK_FLAGS="-Wc,-O3"
- os: osx
env: PRK_TARGET=allupc UPC_IMPL=bupc GASNET_CONDUIT=smp PRK_FLAGS="-Wc,-O3"
# Charm++ on Mac is not working for us.
- os: osx
env: PRK_TARGET=allcharm++
# We have lots of Grappa issues. Need to resolve outside of Travis.
- env: PRK_TARGET=allgrappa
# Mac issue with thread_t (see https://github.com/humairakamal/fgmpi/pull/1)
- os: osx
env: PRK_TARGET=allfgmpi
# SOS@OFI has not worked on MacOS in a while :-(
- os: osx
compiler: clang
env: PRK_TARGET=allshmem
allow_failures:
# Travis trusty breaks this
- os: linux
env: PRK_TARGET=allupc UPC_IMPL=gupc
# Travis tests failing due to runtime problems
- os: linux
env: PRK_TARGET=allampi
- os: linux
env: PRK_TARGET=allfgmpi
- os: linux
compiler: clang
env: PRK_TARGET=allmpi
- os: linux
env: PRK_TARGET=allcharm++
before_install:
- pwd
- export CI_HOME=$PWD
- export CI_ROOT=$CI_HOME/PRK-deps
- mkdir -p $CI_ROOT
install:
- export PATH=$CI_ROOT/bin:$PATH
- export PATH=$CI_ROOT/gcc/bin:$PATH
- export PATH=$CI_ROOT/cmake/bin:$PATH
- sh ./ci/install-deps.sh $CI_ROOT $PRK_TARGET
before_script:
- pwd
script:
- sh ./ci/build-run-prk.sh $CI_ROOT $PRK_TARGET
after_failure:
- echo "Sad panda"
- find . -name config.log -exec grep -L "configure: exit 0" {} ";" | xargs cat
#- find . -name CMakeOutput.log -exec cat {} ";"
#- find . -name CMakeError.log -exec cat {} ";"
notifications:
email:
recipients:
on_success:
- change
on_failure:
- always