language: - c - cpp arch: - amd64 - arm64 - ppc64le - s390x dist: bionic addons: apt: packages: - lcov - valgrind env: global: - PROTOBUF_VERSION=3.7.1 - PKG_CONFIG_PATH=$HOME/protobuf-$PROTOBUF_VERSION-bin/lib/pkgconfig - CMAKE_PREFIX_PATH=$HOME/protobuf-$PROTOBUF_VERSION-bin install: - pip install --user cpp-coveralls - wget https://github.com/protocolbuffers/protobuf/archive/v$PROTOBUF_VERSION.tar.gz - tar xf v$PROTOBUF_VERSION.tar.gz - ( cd protobuf-$PROTOBUF_VERSION && ./autogen.sh && ./configure --prefix=$HOME/protobuf-$PROTOBUF_VERSION-bin && make -j2 && make install ) script: - ./autogen.sh - ./configure && make -j2 distcheck VERBOSE=1 && make clean - ./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 - ./configure --enable-code-coverage && make -j2 && make check - ( mkdir build-cmake/bin && cd build-cmake/bin && cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=protobuf-c-bin ../ && make -j2 && make test && make install) after_success: - if [ $(uname -m) = "x86_64" ]; then cpp-coveralls --build-root . --exclude t/ --exclude /usr/include --exclude protobuf-$PROTOBUF_VERSION --exclude protoc-c; fi