forked from lanl/vpic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
63 lines (55 loc) · 1.67 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
language: cpp
sudo: required
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- ccache
- cmake
- libopenmpi-dev
- openmpi-bin
- gcc-7
- g++-7
- gfortran-7
- libnuma-dev
before_install:
- mkdir -p "$HOME/bin"
- if [[ ${CMAKE_VERSION} ]]; then wget --no-check-certificate -qO- http://www.cmake.org/files/v${CMAKE_VERSION:0:3}/cmake-${CMAKE_VERSION}.tar.gz | tar -xz && ln -s $PWD/cmake-${CMAKE_VERSION}/bin/cmake "$HOME/bin/cmake"; fi
- if [[ ${COVERAGE} ]]; then pip install --user codecov; fi
- git clone https://github.com/jemalloc/jemalloc.git
- git clone https://github.com/lanl/SICM.git
env: #maybe add mpich later
global:
- CCACHE_CPP2=yes
- CMAKE_VERSION=3.1.3-Linux-x86_64
- GVER=7
matrix:
-
- COVERAGE=ON
script:
- export CC=gcc-7
- export CXX=g++-7
- export FC=gfortran-7
- cd jemalloc
- ./autogen.sh
- mkdir build
- cd build
- ../configure --prefix=$(pwd) --with-jemalloc-prefix=je_
- make -j $(nproc --all)
- make -j $(nproc --all) -i install
- export JEPATH=$(pwd)
- cd ../..
- make -C SICM
- export SICM_HOME=$(pwd)/SICM
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JEPATH/lib:$SICM_HOME
- mkdir build && cd build &&
PATH="$HOME/bin:/usr/lib/ccache:$PATH" CC=gcc-${GVER} CXX=g++-${GVER} cmake -DENABLE_INTEGRATED_TESTS=ON -DENABLE_UNIT_TESTS=ON ${COVERAGE:+-DENABLE_COVERAGE_BUILD=ON} .. &&
make -j $(nproc --all) VERBOSE=1 && make test CTEST_OUTPUT_ON_FAILURE=1 && make install DESTDIR=$PWD
after_success:
- if [[ ${COVERAGE} ]]; then cd .. && codecov --gcov-exec gcov-${GVER}; fi
cache:
directories:
- $HOME/.ccache
compiler:
- gcc