-
Notifications
You must be signed in to change notification settings - Fork 4
/
.travis.yml
121 lines (112 loc) · 4.45 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
language: cpp
sudo: required
compiler:
- clang
env:
- BUILD_LIB_LPATH=$HOME/build-l-lib BUILD_LIB_MPATH=$HOME/build-m-lib EPIC_PATH=$HOME/build/EPI-ONE/epic
branches:
only:
- master
matrix:
allow_failures:
- os: osx
include:
- os: linux
dist: bionic
addons:
apt:
packages:
- autoconf
- libtool
- pkg-config
- gcc-8
- g++-8
- lcov
cache:
directories:
- $BUILD_LIB_LPATH
before_install:
- ls
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 100
- gcc -v
- g++ -v
- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
- sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main"
- sudo apt-get update
- sudo apt-get install clang-9
- sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-9 100
- sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-9 100
- clang -v
- clang++ -v
- pwd
- sudo apt-get install -y gdb
- echo $BUILD_LIB_LPATH
- echo $EPIC_PATH
- cd $BUILD_LIB_LPATH
after_success:
- gcov --version
- cd $EPIC_PATH
- pip install --user cpp-coveralls
- coveralls --help
- coveralls --dump coveralls.json --build-root build/CMakeFiles -E ".*/test/.*" -E ".*/src/tools/.*" -E ".*/3.1.*" -E ".*/src/cuckaroo/.*" -E ".*/src/main.*" -E ".*/src/rpc/proto-gen/.*" -E ".*/src/utils/(memory|spdlog|ar.*|big.*|cpptoml.*|cxx.*|merkle.*|port.*|seri.*|tiny.*|utilstr.*).*" --gcov "/usr/bin/llvm-cov gcov" --gcov-options '\-lp'
after_failure:
- cd $EPIC_PATH/bin
- ls
- COREFILE=$(find . -maxdepth 1 -name "core*" | head -n 1) # find core file
- if [[ -f "$COREFILE" ]]; then gdb ./epictest "$COREFILE" example -ex "bt" -ex "set pagination 0" -batch; fi
- os: osx
osx_image: xcode11.1
addons:
homebrew:
packages:
- autoconf
- automake
- libtool
- gmp
- cmake
- grpc
- rocksdb
cache:
directories:
- $BUILD_LIB_MPATH
before_install:
- export OPENSSL_ROOT_DIR="/usr/local/opt/[email protected]"
- cd $BUILD_LIB_MPATH
after_failure:
- ls /cores
- COREFILE=$(find /cores -maxdepth 1 -name "core*" | tail -n 1)
- echo $COREFILE
- if [[ -f "$COREFILE" ]]; then lldb ./epictest -c $COREFILE --batch --one-line "bt"; fi
install:
- clang -v
- if [ ${TRAVIS_OS_NAME} == 'linux' ]; then $EPIC_PATH/ci/install-cmake.sh; fi
- export PATH="/usr/local/bin:$PATH"
- cmake --version
- type -a cmake
- if [ ${TRAVIS_OS_NAME} == 'linux' ]; then $EPIC_PATH/ci/install-openssl.sh; fi
- if [ ${TRAVIS_OS_NAME} == 'linux' ]; then $EPIC_PATH/ci/install-protobuf.sh; fi
- if [ ${TRAVIS_OS_NAME} == 'linux' ]; then $EPIC_PATH/ci/install-grpc.sh; fi
- if [ ${TRAVIS_OS_NAME} == 'linux' ]; then $EPIC_PATH/ci/install-rocksdb.sh; fi
- $EPIC_PATH/ci/install-secp256k1.sh
- $EPIC_PATH/ci/install-libevent.sh
- $EPIC_PATH/ci/install-googletest.sh
- ls
script:
- ulimit -c unlimited -S
- ulimit -a
- ls /usr/local/lib
- ls -a
- cd $EPIC_PATH
- pwd
- mkdir build && cd build
- cmake --version
- which cmake
- if [ ${TRAVIS_OS_NAME} == 'osx' ]; then cmake -DUNITTEST_COVERAGE=ON -DADDRESS_DETECT=OFF -DCMAKE_BUILD_TYPE=Debug ..; else cmake -DUNITTEST_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug ..; fi
- make -j2
- cd ../bin
- ./epictest
notifications:
slack:
secure: TchXC9ZSZht2ViUBPNuWzXMtWWizPTEKckDApPHsU6WyidrsPcwBZ8YsEaTafzHrVTrQNq57PPw9K1+BHKHBbCrlx8iz4w78Bv7yEmoaVN7RyM5fvkVVVFhrcGdbG2nM3FdBdwxnikwtqFa6TC/RfszJZ9RV14Ry70y9AkEKRbTAJMiiTWhzf5BA2TUzSAHFF5ApC3ePTi+EGV8284QTe9kqrWQgHZvaG1M6GEk34+eDAxQfK8dBMiYi5bpP7ZdkU3273N9niFaDgrB8SLhRVg6pdbTjo6U/ktEJvh1knqZU97JhCNHZrW0hgucFEOHZz2tkMfVbYm83x7AKFGvMYvWKK4AibwFkutZN1aFkMBRP6qxUR4W2bFCogWsDgEy2QFowHzPwYRthaCD2hfQFYIzvPBAYbP76faWrq0SlD/9GXBHIvx17GBUHd87HNMa5vjhRq6zTM+q8cDM/MbBqmJSXPYWVAA91jGHPe+d6CPCGtTKL2cW4QtrxRhoKb6JrqctT/ULwGQwsf1XpvIy9MiZ7unYqG7Z2Z1KfpKzH9Xqyye0W6OKZD7SUrfoGDIbNF1q3gLc+Anh95or7gClM2RW4CSXGal30S5uhx9sJjoNZylkJk4gKQlPRkLyxIR2JYGUk4zdhEri0ajRRDhMSuGoXLpHrH53VZ2+4OsimlcE=