Skip to content
Snippets Groups Projects
.travis.yml 2.1 KiB
Newer Older
  • Learn to ignore specific revisions
  • Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    ---
    
    language: cpp
    sudo: required
    
    Nicolas Werner's avatar
    Nicolas Werner committed
    dist: xenial
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    services:
      - docker
    
    notifications:
      email: false
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    matrix:
      include:
        - os: osx
    
          osx_image: xcode10.2 # for c++17
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
          compiler: clang
    
    Nicolas Werner's avatar
    Nicolas Werner committed
          addons:
            homebrew:
              taps: nlohmann/json
              packages:
                - libsodium
                - clang-format
                - ninja
                - openssl
                - boost
    
        - os: linux
          compiler: gcc
          env:
            - CXX_VERSION=g++-8
            - CC_VERSION=gcc-8
    
    Nicolas Werner's avatar
    Nicolas Werner committed
            - CMAKE_GENERATOR=Ninja
    
            - COVERAGE=ON
    
    Nicolas Werner's avatar
    Nicolas Werner committed
          addons:
            apt:
              sources:
                - ubuntu-toolchain-r-test
              packages:
                - software-properties-common
                - curl
                - ninja-build
                - pkg-config
                - make
                - g++-8
                - unzip
                - git
                - libssl-dev
                - openssl
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
        - os: linux
          compiler: clang
          env:
    
            - CXX_VERSION=clang++-6.0
    
            - CC_VERSION=clang-6.0
    
    Nicolas Werner's avatar
    Nicolas Werner committed
            - CMAKE_GENERATOR=Ninja
    
    Nicolas Werner's avatar
    Nicolas Werner committed
          addons:
            apt:
              sources:
                - ubuntu-toolchain-r-test
                - llvm-toolchain-xenial-6.0
                - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main'
                  key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
              packages:
                - clang++-6.0
                - clang-6.0
                - software-properties-common
                - curl
                - ninja-build
                - pkg-config
                - make
                - g++-8
                - unzip
                - git
                - libssl-dev
                - openssl
    
    cache:
      directories:
    
    install: ./.ci/install.sh
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    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"