-
Nicolas Werner authoredNicolas Werner authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.travis.yml 1.67 KiB
---
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
compiler: clang
- os: linux
compiler: gcc
env:
- CXX_VERSION=g++-8
- CC_VERSION=gcc-8
- CMAKE_GENERATOR=Ninja
- os: linux
compiler: clang
env:
- CXX_VERSION=clang++-6.0
- CC_VERSION=clang-6.0
- CMAKE_GENERATOR=Ninja
- COVERAGE=ON
install:
- |
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
docker build -t nheko-reborn/mtxclient -f Dockerfile .
fi
- ./.ci/install.sh
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} \
nheko-reborn/mtxclient \
/bin/bash -c "./.ci/script.sh"
fi
# Build the lib and run the linter.
- |
if [ $TRAVIS_OS_NAME == osx ]; then
./.ci/script.sh
fi
after_success:
# Generate coverage report and upload report to CodeCov.
- |
if [ $COVERAGE == ON ]; then
docker run -v `pwd`:/build \
--net=host nheko-reborn/mtxclient \