Newer
Older
---
language: cpp
sudo: required
dist: trusty
services:
- docker
notifications:
email: false
matrix:
include:
- os: osx
# osx_image: xcode9 # don't specify an image here to use the default
- os: linux
compiler: gcc
env:
- CXX_VERSION=g++-8
- CC_VERSION=gcc-8
- |
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
docker build -t nheko-reborn/mtxclient -f Dockerfile .
fi
script:
- $CXX --version
- cmake --version
# Start the synapse server to run the tests.
- if [ $TRAVIS_OS_NAME == linux ]; then make synapse; fi
# Build the lib and run the test suite against synapse.
- |
if [ $TRAVIS_OS_NAME == linux ]; then
docker run -v `pwd`:/build --net=host \
-e CXX_VERSION=${CXX_VERSION} \
-e CC_VERSION=${CC_VERSION} \
-e COVERAGE=${COVERAGE} \
-e TRAVIS_OS_NAME=${TRAVIS_OS_NAME} \
/bin/bash -c "./.ci/script.sh"
fi
# Build the lib and run the linter.
- |
if [ $TRAVIS_OS_NAME == osx ]; then
./.ci/script.sh
fi
# Generate coverage report and upload report to CodeCov.
- |
if [ $COVERAGE == ON ]; then
docker run -v `pwd`:/build \
/bin/bash -c "make -C build -j1 test_coverage && ./.ci/coverage.sh" && \
bash <(curl -s https://codecov.io/bash) -f "!*tests*" || echo "Codecov failed"
fi