The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.1 KiB
58 lines
2.1 KiB
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 python3; fi |
|
# Use a Ninja with QuLogic's patch: https://github.com/ninja-build/ninja/issues/1219 |
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p $HOME/tools; curl -L http://nirbheek.in/files/binaries/ninja/macos/ninja -o $HOME/tools/ninja; chmod +x $HOME/tools/ninja; 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 && mkdir -p tools; wget -c http://nirbheek.in/files/binaries/ninja/linux-amd64/ninja -O /root/tools/ninja; chmod +x /root/tools/ninja; CC=$CC CXX=$CXX OBJC=$CC OBJCXX=$CXX PATH=/root/tools:$PATH MESON_FIXED_NINJA=1 ./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 PATH=$HOME/tools:$PATH MESON_FIXED_NINJA=1 ./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')}"
|
|
|