Skip to content
Snippets Groups Projects
.travis.yml 1.41 KiB
Newer Older
  • Learn to ignore specific revisions
  • Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    ---
    
    language: cpp
    sudo: required
    dist: trusty
    
    services:
      - docker
    
    notifications:
      email: false
    
    matrix:
      include:
        - os: osx
    
          osx_image: xcode9
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
          compiler: clang
    
        - os: linux
          compiler: gcc
          env:
            - CXX_VERSION=g++-8
            - CC_VERSION=gcc-8
    
            - COVERAGE=ON
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
        - os: linux
          compiler: clang
          env:
    
            - CXX_VERSION=clang++-6.0
    
            - CC_VERSION=clang-6.0
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    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 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} \
            mujx/mtxclient-dev:0.1.0 \
            /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 mujx/mtxclient-dev:0.1.0 \
            /bin/bash -c "./.ci/coverage.sh" && \
          bash <(curl -s https://codecov.io/bash) -f "!*tests*" || echo "Codecov failed"
        fi