-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path.travis.yml
232 lines (215 loc) · 8.95 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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
# Travis-CI.org build script
# "trusty" is Ubuntu 14.04.5 LTS
# gcc 4.8.4
os:
- osx
- linux
# Formerly: use containerized infrastructure (for faster startup; no sudo)
# This has AVX but not AVX2
#sudo: false
#dist: trusty
#sudo: true
#dist: trusty
sudo: true
dist: xenial
# Travis Build Infrastructure as of 2018-11-18
# See https://docs.travis-ci.com/user/reference/overview/
#
# sudo:true dist:trusty osx Xeon E5-2697v2, FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS MMX FXSR SSE SSE2 SS SSE3 PCLMULQDQ MON SSSE3 CX16 SSE4.1 SSE4.2 x2APIC POPCNT AES VMM PCID XSAVE OSXSAVE TSCTMR AVX1.0 RDRAND F16C SMEP ERMS RDWRFSGS TSC_THREAD_OFFSET SYSCALL XD EM64T LAHF RDTSCP TSCI
# sudo:true dist:trusty linux Xeon @ 2.5 GHz, fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm fsgsbase tsc_adjust smep erms xsaveopt arat
# build host: worker-org-gce-fvr1
#
# sudo:false dist:trusty osx Xeon E5-2697v2, FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS MMX FXSR SSE SSE2 SS SSE3 PCLMULQDQ MON SSSE3 CX16 SSE4.1 SSE4.2 x2APIC POPCNT AES VMM PCID XSAVE OSXSAVE TSCTMR AVX1.0 RDRAND F16C SMEP ERMS RDWRFSGS TSC_THREAD_OFFSET SYSCALL XD EM64T LAHF RDTSCP TSCI
#
# sudo:false dist:trusty linux Xeon E5-2680v2, fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cpuid_fault pti fsgsbase smep erms xsaveopt
# build host: worker-org-ec2.travisci.net
#
language: cpp
compiler:
- gcc
# - clang
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sysctl -a kern.ostype kern.osrelease kern.version kern.osversion hw.machine hw.model hw.ncpu hw.byteorder hw.physmem hw.cpufrequency hw.memsize hw.optional.x86_64 hw.cpu64bit_capable machdep.cpu.brand_string machdep.cpu.features machdep.cpu.leaf7_features machdep.cpu.extfeatures; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sysctl -a; fi
- if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then cat /proc/cpuinfo; fi
- echo "TRAVIS_OS_NAME is $TRAVIS_OS_NAME"
- echo "HOMEBREW_CACHE is $HOMEBREW_CACHE"
- echo "HOMEBREW_TEMP is $HOMEBREW_TEMP"
- which python
- which python2
before_script:
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install lz4 yaml-cpp jsoncpp; fi
# # fftw: depends on gcc if --with-fortran (the default).
# #- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install fftw --without-fortran; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install fftw --ignore-dependencies; fi
#
# # boost: already installed
# # fftw: problematic
#
# - pip2 install --user cpp-coveralls
# - pip2 install --user Cython
#
# # for cython
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH=${PATH}:~/Library/Python/2.7/bin; fi
# - which cython
#
# # for simpulse
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pip2 install --user numpy; fi
#
# - export NUMPY_INCDIR=$(python -c "import numpy; print(numpy.get_include())")
# - echo "NUMPY_INCDIR is $NUMPY_INCDIR"
#
# - find /usr/local/lib/python2.7/
#
# - BUILD_DIR=$(pwd)
#
# - cd
# - wget https://github.com/msgpack/msgpack-c/releases/download/cpp-2.1.0/msgpack-2.1.0.tar.gz
# - tar xzf msgpack-2.1.0.tar.gz
# - export MSGPACK_INC_DIR=$(pwd)/msgpack-2.1.0/include
#
# - cd
# - ls
# # We cache the "libzmq" directory -- does it exist & is it a valid git repo?
# - if [ -d "libzmq" ]; then (cd libzmq && git describe) || rm -R libzmq; fi
# - if [ ! -d "libzmq" ]; then (git clone https://github.com/zeromq/libzmq.git && cd libzmq && git checkout v4.2.1 && ./autogen.sh); fi
# - cd libzmq
# - ./configure --prefix=${HOME}/zmq --disable-perf --disable-curve -disable-curve-keygen --without-docs
# - make
# - make install
# - export ZMQ_INC_DIR=~/zmq/include
# - export ZMQ_LIB_DIR=~/zmq/lib
# - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ZMQ_LIB_DIR}
# - export PKG_CONFIG_DIR=${PKG_CONFIG_DIR}:${ZMQ_LIB_DIR}/pkgconfig
#
# - pip2 install --user pyzmq
# - pip2 install --user msgpack-python
#
# - cd
# - wget https://raw.githubusercontent.com/zeromq/cppzmq/master/zmq.hpp
# - cp zmq.hpp $ZMQ_INC_DIR
#
# # Cached hdf5 source code install
# - cd
# - if [ -d "hdf5" ]; then (cd hdf5 && make all install > hdf5.log 2>&1) || rm -R hdf5; fi
# - if [ ! -d "hdf5" ]; then (wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.20/src/hdf5-1.8.20.tar.gz && tar xzf hdf5-1.8.20.tar.gz && mv hdf5-1.8.20 hdf5 && cd hdf5 && ./configure --prefix=$HOME/chime --enable-cxx && make all install > hdf5.log 2>&1); fi
#
# - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:~/chime/lib
#
# # Environment variables respected by (some) CHIME Makefile.local files
# - export LIBDIR=~/chime/lib
# - export INCDIR=~/chime/include
# - export BINDIR=~/chime/bin
# - export HAVE_PSRFITS=n
# - export HAVE_CH_FRB_IO=y
# - export HAVE_BONSAI=y
# - export PYDIR=~/chime/lib/python2.7/site-packages
# - export PYTHON_INCDIR=/usr/include/python2.7
# # on osx it's pre-installed in site-packages?
# #- export NUMPY_INCDIR=/usr/lib/python2.7/dist-packages/numpy/core/include
# - export NUMPY_INCDIR=$(python -c "import numpy; print(numpy.get_include())")
# - echo "NUMPY_INCDIR is $NUMPY_INCDIR"
# - export JSONCPP_INC_DIR=/usr/include/jsoncpp
# - export PYTHONPATH=${PYTHONPATH}:/usr/lib/python2.7/dist-packages
#
# # for simpulse
# #- export LIBS_PYMODULE="-lPython"
# - export LIBS_PYMODULE=$(python-config --ldflags --libs)
#
# - cd
# - git clone https://github.com/CHIMEFRB/ch_frb_io.git
# - cd ch_frb_io
# - git checkout rpc_cleanup
# - ln -s site/Makefile.local.travis Makefile.local
# - pwd
# - make
# - make install
#
# - cd
# - git clone https://github.com/kmsmith137/simd_helpers.git
# - cd simd_helpers
# - ln -s site/Makefile.local.norootprivs Makefile.local
# - make install
#
# - cd
# - git clone https://github.com/kmsmith137/simpulse.git
# - cd simpulse
# - ln -s site/Makefile.local.travis Makefile.local
# - make
# - make install
#
# - cd
# - git clone https://github.com/kmsmith137/sp_hdf5.git
# - cd sp_hdf5
# - ln -s site/Makefile.local.linux Makefile.local
# - make install
# - cd
# - mv include/* chime/include/
#
# - cd
# #- git clone https://github.com/kmsmith137/rf_kernels.git
# - git clone https://github.com/dstndstn/rf_kernels.git
# - cd rf_kernels
# ###
# - git checkout travis
# - ln -s site/Makefile.local.travis Makefile.local
# - make install
#
# - cd
# ###- git clone https://github.com/CHIMEFRB/bonsai.git
# ###- cd bonsai
# - mkdir bonsai
# #- wget -O bonsai.tgz http://broiler.astrometry.net/~dstn/temp/bonsai-master-2017-04-10.tgz
# #- wget -O bonsai.tgz http://broiler.astrometry.net/~dstn/temp/bonsai-l1-prerelease.tgz
# - wget -O bonsai.tgz http://broiler.astrometry.net/~dstn/temp/bonsai-15_devel.tgz
# - tar xzf bonsai.tgz
# - ln -s site/Makefile.local.travis Makefile.local
# - make
# - make install
#
# - cd
# - git clone https://github.com/kmsmith137/rf_pipelines.git
# - cd rf_pipelines
# #- git checkout l1_prerelease2
# - ln -s site/Makefile.local.travis Makefile.local
# - make
# - make install
- echo "hello"
script:
# - pwd
# - cd $BUILD_DIR
# - pwd
# - ln -s site/Makefile.local.travis Makefile.local
# # - ls ~/chime/lib
# # - ls ~/chime/include
# # - ls ~/lib
# # - ls ~/include
# # - nm -CD ~/chime/lib/librf_pipelines.so
# - make COVERAGE=yes OPTIMIZE=no
# # run some, ahem, unit tests...
# - ./test-l1-rpc &
# - sleep 3
# - python rpc_client.py --shutdown 5555
# - wait
- echo "nothing to see here"
# after_success:
# - coveralls --exclude lib --exclude tests --gcov-options '\-lp'
addons:
apt:
packages:
- liblz4-dev
- libyaml-cpp-dev
- libboost-dev
- libjsoncpp-dev # for rf_pipelines
- python-numpy # for rpc_client.py and simpulse
- libfftw3-dev # for simpulse
# Versions in trusty are too old:
# - libzmq-dev (2.1 vs current = 4.2.0)
# - libhdf5-serial-dev # need newer version for sp_hdf5
# - cython # for simpulse -- need a version newer than 0.20.1 ?
# see ch_frb_io re: libmsgpack-dev
cache:
directories:
- $HOME/libzmq
- $HOME/hdf5