You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

.travis.yml 3.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. language: cpp
  2. matrix:
  3. include:
  4. # gcc
  5. # xenial
  6. # gcc 5 is the default on xenial
  7. - os: linux
  8. dist: xenial
  9. compiler: gcc
  10. addons:
  11. apt:
  12. packages:
  13. - valgrind
  14. - cppcheck
  15. - doxygen
  16. env: CHECK="true"
  17. # bionic
  18. - os: linux
  19. dist: bionic
  20. compiler: gcc
  21. env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
  22. # gcc 7 is the default on bionic
  23. - os: linux
  24. dist: bionic
  25. compiler: gcc
  26. env: CHECK="true"
  27. - os: linux
  28. dist: bionic
  29. compiler: gcc
  30. env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
  31. # clang
  32. # xenial
  33. - os: linux
  34. dist: xenial
  35. compiler: clang
  36. addons:
  37. apt:
  38. sources:
  39. - llvm-toolchain-xenial-5.0
  40. packages:
  41. - clang-5.0
  42. env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
  43. - os: linux
  44. dist: xenial
  45. compiler: clang
  46. addons:
  47. apt:
  48. sources:
  49. - llvm-toolchain-xenial-6.0
  50. packages:
  51. - clang-6.0
  52. env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
  53. # clang-7 is the default on xenial and bionic
  54. - os: linux
  55. dist: xenial
  56. compiler: clang
  57. addons:
  58. apt:
  59. packages:
  60. - valgrind
  61. - cppcheck
  62. - doxygen
  63. env: CHECK="true"
  64. # bionic
  65. - os: linux
  66. dist: bionic
  67. compiler: clang
  68. env: CHECK="true"
  69. # osx
  70. - os: osx
  71. osx_image: xcode9.4
  72. env: XCODE="true"
  73. - os: osx
  74. osx_image: xcode10.1
  75. env: XCODE="true" CHECK="true"
  76. # run coveralls
  77. - os: linux
  78. dist: xenial
  79. compiler: gcc
  80. env: CHECK="true"
  81. install:
  82. - sh autogen.sh
  83. before_install:
  84. - sudo pip install cpp-coveralls
  85. - echo $CC
  86. - echo $LANG
  87. - echo $LC_ALL
  88. - set -e
  89. - if [ "$TRAVIS_OS_NAME" = "linux" ]; then
  90. eval "${MATRIX_EVAL}";
  91. if [ -n "$MATRIX_EVAL" ] && [ "$TRAVIS_COMPILER" != "clang" ]; then
  92. sudo apt-get install -y $CC;
  93. fi;
  94. fi
  95. before_script:
  96. - export CFLAGS="-fprofile-arcs -ftest-coverage"
  97. - ./configure
  98. script:
  99. - make
  100. - make check
  101. after_success:
  102. - coveralls --exclude tests --exclude fuzz
  103. # allow_failures:
  104. # - os: osx
  105. install:
  106. - sh autogen.sh
  107. before_install:
  108. - echo $CC
  109. - echo $LANG
  110. - echo $LC_ALL
  111. - set -e
  112. - if [ "$TRAVIS_OS_NAME" = "linux" ]; then
  113. eval "${MATRIX_EVAL}";
  114. if [ -n "$MATRIX_EVAL" ] && [ "$TRAVIS_COMPILER" != "clang" ]; then
  115. sudo apt-get install -y $CC;
  116. fi;
  117. fi
  118. before_script:
  119. - ./configure
  120. script:
  121. - make
  122. # when using bionic, Travis seems to ignore the "addons" section, so installing the packages with apt-get...
  123. - if [ -n "$CHECK" ]; then
  124. if [ "$TRAVIS_OS_NAME" = "osx" ]; then
  125. brew install doxygen;
  126. else
  127. if [ "$TRAVIS_DIST" = "bionic" ]; then
  128. sudo apt-get install -y valgrind cppcheck doxygen;
  129. fi;
  130. fi;
  131. make distcheck;
  132. if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi;
  133. fi