.travis.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Build matrix / environment variables are explained on:
  2. # http://about.travis-ci.org/docs/user/build-configuration/
  3. # This file can be validated on: http://www.yamllint.com/
  4. # Or using the Ruby based travel command line tool:
  5. # gem install travis --no-rdoc --no-ri
  6. # travis lint .travis.yml
  7. language: cpp
  8. sudo: false
  9. addons:
  10. homebrew:
  11. packages:
  12. - clang-format
  13. - meson
  14. - ninja
  15. update: false # do not update homebrew by default
  16. apt:
  17. sources:
  18. - ubuntu-toolchain-r-test
  19. - llvm-toolchain-xenial-8
  20. packages:
  21. - clang-format-8
  22. - clang-8
  23. - valgrind
  24. matrix:
  25. allow_failures:
  26. - os: osx
  27. include:
  28. - name: Mac clang meson static release testing
  29. os: osx
  30. osx_image: xcode11
  31. compiler: clang
  32. env:
  33. CXX="clang++"
  34. CC="clang"
  35. LIB_TYPE=static
  36. BUILD_TYPE=release
  37. script: ./.travis_scripts/meson_builder.sh
  38. - name: Linux xenial clang meson static release testing
  39. os: linux
  40. dist: xenial
  41. compiler: clang
  42. env:
  43. CXX="clang++"
  44. CC="clang"
  45. LIB_TYPE=static
  46. BUILD_TYPE=release
  47. # before_install and install steps only needed for linux meson builds
  48. before_install:
  49. - source ./.travis_scripts/travis.before_install.${TRAVIS_OS_NAME}.sh
  50. install:
  51. - source ./.travis_scripts/travis.install.${TRAVIS_OS_NAME}.sh
  52. script: ./.travis_scripts/meson_builder.sh
  53. - name: Linux xenial gcc cmake coverage
  54. os: linux
  55. dist: xenial
  56. compiler: gcc
  57. env:
  58. CXX=g++
  59. CC=gcc
  60. DO_Coverage=ON
  61. BUILD_TOOL="Unix Makefiles"
  62. BUILD_TYPE=Debug
  63. LIB_TYPE=shared
  64. DESTDIR=/tmp/cmake_json_cpp
  65. before_install:
  66. - pip install --user cpp-coveralls
  67. script: ./.travis_scripts/cmake_builder.sh
  68. after_success:
  69. - coveralls --include src/lib_json --include include
  70. notifications:
  71. email: false