mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-13 10:52:56 +01:00
Problem: no code coverage in CI
Solution: add new coverage build, and upload results to coveralls.io
This commit is contained in:
parent
6df753c55a
commit
0cd7c0f807
@ -12,6 +12,12 @@ env:
|
||||
- BUILD_TYPE=cmake CURVE=tweetnacl
|
||||
- BUILD_TYPE=default CURVE=libsodium
|
||||
- BUILD_TYPE=default
|
||||
- BUILD_TYPE=coverage CURVE=tweetnacl
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
- env: BUILD_TYPE=coverage CURVE=tweetnacl
|
||||
os: osx
|
||||
|
||||
sudo: false
|
||||
|
||||
@ -21,6 +27,7 @@ addons:
|
||||
- kubuntu-backports
|
||||
packages:
|
||||
- cmake
|
||||
- lcov
|
||||
|
||||
before_install:
|
||||
- if [ $TRAVIS_OS_NAME == "osx" ] ; then brew update; brew install binutils ; fi
|
||||
|
29
builds/coverage/ci_build.sh
Executable file
29
builds/coverage/ci_build.sh
Executable file
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -x
|
||||
|
||||
mkdir tmp
|
||||
BUILD_PREFIX=$PWD/tmp
|
||||
|
||||
CONFIG_OPTS=()
|
||||
CONFIG_OPTS+=("CFLAGS=-I${BUILD_PREFIX}/include")
|
||||
CONFIG_OPTS+=("CPPFLAGS=-I${BUILD_PREFIX}/include")
|
||||
CONFIG_OPTS+=("CXXFLAGS=-I${BUILD_PREFIX}/include")
|
||||
CONFIG_OPTS+=("LDFLAGS=-L${BUILD_PREFIX}/lib")
|
||||
CONFIG_OPTS+=("PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig")
|
||||
CONFIG_OPTS+=("--prefix=${BUILD_PREFIX}")
|
||||
CONFIG_OPTS+=("--enable-code-coverage")
|
||||
|
||||
if [ -z $CURVE ]; then
|
||||
CMAKE_OPTS+=("-DENABLE_CURVE=OFF")
|
||||
elif [ $CURVE == "libsodium" ]; then
|
||||
CMAKE_OPTS+=("-DWITH_LIBSODIUM=ON")
|
||||
|
||||
git clone --depth 1 -b stable git://github.com/jedisct1/libsodium.git
|
||||
( cd libsodium; ./autogen.sh; ./configure --prefix=$BUILD_PREFIX; make install)
|
||||
fi
|
||||
|
||||
pip install --user cpp-coveralls
|
||||
|
||||
# Build, check, and install from local source
|
||||
( cd ../..; ./autogen.sh && ./configure "${CONFIG_OPTS[@]}" && make -j5 && make check && coveralls --exclude tests --gcov-options '\-lp') || exit 1
|
Loading…
Reference in New Issue
Block a user