Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.travis.yml 1.04 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
        - COVERAGE=ON
    - os: linux
      compiler: clang
      env:
        - CXX_VERSION=clang++-6.0
        - CC_VERSION=clang-6.0
        - CMAKE_GENERATOR=Ninja

cache:
  directories:
    - .deps

install: ./.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 linter & tests.
  - ./.ci/script.sh

after_success:
  # Generate coverage report and upload report to CodeCov.
  - |
    if [ "$COVERAGE" == ON ]; then
      ./.ci/coverage.sh && \
      bash <(curl -s https://codecov.io/bash) -f build/coverage.info || echo "Codecov failed"
    fi