forked from rsocket/rsocket-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
98 lines (86 loc) · 4.05 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
# inspired by https://github.com/ericniebler/meta/blob/master/.travis.yml
sudo: required
dist: trusty
language: cpp
# Test matrix:
matrix:
include:
- env: CLANG_VERSION=3.9 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On
os: linux
addons: &clang39
apt:
packages:
- clang-3.9
- valgrind
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.9
- env: GCC_VERSION=4.9 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On
os: linux
addons: &gcc49
apt:
packages:
- g++-4.9
- valgrind
sources:
- ubuntu-toolchain-r-test
- env: GCC_VERSION=5 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On
os: linux
addons: &gcc5
apt:
packages:
- g++-5
- valgrind
sources:
- ubuntu-toolchain-r-test
- env: GCC_VERSION=6 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On
os: linux
addons: &gcc6
apt:
packages:
- g++-6
- valgrind
sources:
- ubuntu-toolchain-r-test
before_script:
- ./scripts/build_folly.sh
- if [ -n "$GCC_VERSION" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
- if [ -n "$CLANG_VERSION" ]; then export CXX="clang++-${CLANG_VERSION}" CC="clang-${CLANG_VERSION}"; fi
- which $CXX
- which $CC
- which valgrind
- $CXX --version
# install latest LCOV (1.9 was failing for me) [1]
- wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz
- tar xf lcov_1.11.orig.tar.gz
- sudo make -C lcov-1.11/ install
# install lcov to coveralls conversion + upload tool
- gem install coveralls-lcov
- lcov --directory . --zerocounters
script:
- mkdir -p build
- cd build
- if [ -n "$CLANG_VERSION" -a "$ASAN" == "On" ]; then echo "turning on ASAN sanitize=address,undefined,integer no-sanitize=unsigned-integer-overflow"; fi
- if [ -n "$CLANG_VERSION" -a "$ASAN" == "On" ]; then CXX_FLAGS="${CXX_FLAGS} -fsanitize=address,undefined,integer -fno-sanitize=unsigned-integer-overflow"; fi
- if [ -n "$GCC_VERSION" -a "$ASAN" == "On" ]; then echo "turning on ASAN sanitize=address,undefined"; fi
- if [ -n "$GCC_VERSION" -a "$ASAN" == "On" ]; then CXX_FLAGS="${CXX_FLAGS} -fsanitize=address,undefined -fuse-ld=gold"; fi
- if [ -n "$GCC_VERSION" ]; then CXX_FLAGS="${CXX_FLAGS} --coverage"; fi # enable code coverage on GCC builds
- cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_FLAGS="${CXX_FLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${CXX_LINKER_FLAGS}" -DMETA_CXX_STD=$CPP_VERSION
- make -j8
- ./tests
- ./rsocket_tests
- ./experimental/yarpl/yarpl-tests
- cd ..
- ./scripts/prepare_tck_drivers.sh
- ./scripts/tck_test.sh -c cpp -s cpp
- ./scripts/tck_test.sh -c java -s java
- ./scripts/tck_test.sh -c java -s cpp
- ./scripts/tck_test.sh -c cpp -s java
after_success:
- if [ -n "$GCC_VERSION" ]; then lcov --directory . --capture --output-file coverage.info; fi # capture coverage info
- if [ -n "$GCC_VERSION" ]; then lcov --remove coverage.info 'tests/*' '/usr/*' --output-file coverage.info; fi # filter out system and test code
- if [ -n "$GCC_VERSION" ]; then lcov --list coverage.info; fi # debug before upload
- if [ -n "$GCC_VERSION" ]; then coveralls-lcov --repo-token ${COVERALLS_TOKEN} coverage.info; fi # uploads to coveralls
env:
global:
secure: DOPCvF/oFMkzTHcE1U7jJ1z3isJYKySiJfuzZQqY6IUmjvVxJuE2k4rvz1pURdqYIXs/3kOHhtf59q0VJcCsdurpGXrF+E51JLQyG6SM1L3JzjVjEZ60a7laUyPer7rNnrj6g4K7CK0KcSZKOAsrRxBGGllR5XnxYE9p6zEEPuDxbPJLS8ruDNI2LBCx0eMW/pzTvY4IA+pc2TlGBSh85LH+p+aelp6Q5GKRFWxxy8ju3FcUI4LfJChEgn9Wb9dZ9VsBX1gZjUgXZ1gs0yp2WcohkJuITsb1oRINA0DnwpADlAHpl/+t8NZZKwknTsEHW5KQtvnuqM4nnN4KszkMZQDhlOxgNpvnvcS2lWlbeAE3f7lgtPZDWkmo8SaR+MRH0F1/+nnC7pdMvWoFRfkq5VsXDOiCMrXEJMZFCokHdtxhfNRpwvqchD2BaYQ9xOAToi2GhbV4k/5Zc5bO+bxnTmlFR6fWtHtChCIXLrkKyGLFlDvU4lS9eeaYzv4OaXL/HZ3HPn91/F96ZSVm8X17NmYwD1wfj+ad3D8YMXhWnnBQYpfFeHz/lHAoLXWg/BhtgQbPmMYYKRrQaH7EKzBbqEHv6PhOk7vLMtdx5X7KmhVuFjpAMbaYojzwxxH0u+VAnVB5iazzyjhySjvzkvx6pGzZtTnjLJHxKcp9633z4OU=