123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- sudo: false
- branches:
- only:
- - master
- os:
- - linux
- - osx
- compiler:
- - gcc
- - clang
- env:
- - MESON_ARGS=""
- - MESON_ARGS="--unity=on"
- language:
- - cpp
- services:
- - docker
- matrix:
- exclude:
- # On OS X gcc is just a wrapper around clang, so don't waste time testing that
- - os: osx
- compiler: gcc
- before_install:
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ninja python3; fi
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker pull jpakkane/mesonci:zesty; fi
- - pip3 install codecov
- - mkdir .coverage
- # We need to copy the current checkout inside the Docker container,
- # because it has the MR id to be tested checked out.
- script:
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then echo FROM jpakkane/mesonci:zesty > Dockerfile; fi
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then echo ADD . /root >> Dockerfile; fi
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker build -t withgit .; fi
- - |
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
- ci_env=`bash <(curl -s https://codecov.io/env)`
- docker run $ci_env -v ${PWD}/.coverage:/root/.coverage \
- withgit \
- /bin/sh -c "cd /root && CC=$CC CXX=$CXX OBJC=$CC OBJCXX=$CXX ./run_tests.py --cov -- $MESON_ARGS && chmod -R a+rwX .coverage"
- fi
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then SDKROOT=$(xcodebuild -version -sdk macosx Path) OBJC=$CC OBJCXX=$CXX ./run_tests.py --cov --backend=ninja -- $MESON_ARGS ; fi
- after_success:
- - coverage3 combine
- - codecov -n "${TRAVIS_OS_NAME}-${CC}-{$(echo ${MESON_ARGS} | sed -e 's/^--//g' -e 's/ --/,/g')}"
|