forked from protobuf-c/protobuf-c
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.travis.yml
73 lines (65 loc) · 2.39 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
language:
- c
- cpp
# Use Trusty VM
sudo: required
dist: trusty
matrix:
include:
# Test clang-3.6
# TODO: clang 3.7+ packages from http://llvm.org/apt do not support sanitizers yet, see https://llvm.org/bugs/show_bug.cgi?id=22757
- env: CLANG_VERSION=3.6
os: linux
addons:
apt:
packages:
- valgrind
- util-linux
- clang-3.6
- libclang-common-3.6-dev
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.6
# Test default gcc
- env: GCC_VERSION=4.8
os: linux
compiler: gcc
addons:
apt:
packages:
- lcov
- valgrind
# Test gcc-5.0
- env: GCC_VERSION=5
os: linux
addons:
apt:
packages:
- valgrind
- g++-5
- gcc-5
sources:
- ubuntu-toolchain-r-test
env:
global:
- PROTOBUF_VERSION=2.6.1
- PKG_CONFIG_PATH=$HOME/protobuf-$PROTOBUF_VERSION-bin/lib/pkgconfig
before_install:
- 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
- if [ "$GCC_VERSION" == "4.8" ]; then export CXX="g++" CC="gcc"; fi
- which $CXX
- which $CC
- which valgrind
install:
- pip install --user cpp-coveralls
- wget https://github.com/google/protobuf/releases/download/v$PROTOBUF_VERSION/protobuf-$PROTOBUF_VERSION.tar.gz
- tar xf protobuf-$PROTOBUF_VERSION.tar.gz
- ( cd protobuf-$PROTOBUF_VERSION && ./configure --prefix=$HOME/protobuf-$PROTOBUF_VERSION-bin && make -j2 && make install )
script:
- ./autogen.sh
- ./configure && make -j2 distcheck VERBOSE=1 && make clean
- if [ "$GCC_VERSION" != "4.8" ]; then ./configure --enable-valgrind-tests CFLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined" && make -j2 distcheck DISTCHECK_CONFIGURE_FLAGS="--enable-valgrind-tests CFLAGS=\"-fsanitize=undefined -fno-sanitize-recover=undefined\"" VERBOSE=1 && make clean; fi
- if [ "$CC" = "gcc" ]; then ./configure --enable-code-coverage && make -j2 && make check; fi
after_success:
- if [ "$CC" = "gcc" ]; then cpp-coveralls --build-root . --exclude t/ --exclude /usr/include --exclude protobuf-$PROTOBUF_VERSION --exclude protoc-c; fi