.travis.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. sudo: false
  2. dist: bionic
  3. language: c++
  4. matrix:
  5. include:
  6. - os: osx
  7. osx_image: xcode10.3
  8. compiler: clang
  9. - os: linux
  10. compiler: clang
  11. addons:
  12. apt:
  13. packages:
  14. - cmake
  15. - build-essential
  16. - libsdl2-dev
  17. - libsdl2-image-dev
  18. - libfreetype6-dev
  19. - libglew-dev
  20. - liblua5.2-dev
  21. - libsfml-dev
  22. - os: linux
  23. compiler: clang
  24. env: NO_FONT_INTERFACE_DEFAULT="ON"
  25. addons:
  26. apt:
  27. packages:
  28. - cmake
  29. - build-essential
  30. - libsdl2-dev
  31. - libsdl2-image-dev
  32. - libfreetype6-dev
  33. - libglew-dev
  34. - liblua5.2-dev
  35. - libsfml-dev
  36. - os: linux
  37. compiler: gcc
  38. env: VALGRIND_SAMPLES="1"
  39. services:
  40. - xvfb
  41. addons:
  42. apt:
  43. packages:
  44. - cmake
  45. - build-essential
  46. - libsdl2-dev
  47. - libsdl2-image-dev
  48. - libfreetype6-dev
  49. - libglew-dev
  50. - liblua5.2-dev
  51. - libsfml-dev
  52. - mesa-utils
  53. - valgrind
  54. install:
  55. - cd "$TRAVIS_BUILD_DIR"
  56. - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then cmake -DBUILD_LUA_BINDINGS=ON -DBUILD_SAMPLES=ON -DNO_FONT_INTERFACE_DEFAULT=${NO_FONT_INTERFACE_DEFAULT:-OFF} .; fi
  57. - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cmake -DNO_THIRDPARTY_CONTAINERS=ON -G Xcode .; fi
  58. before_script:
  59. - if [[ "$VALGRIND_SAMPLES" == "1" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi
  60. script:
  61. - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then make -j4; fi
  62. - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then xcodebuild -project rmlui.xcodeproj/ -jobs 4 -configuration Release -scheme ALL_BUILD | xcpretty --color; test ${PIPESTATUS[0]} -eq 0; fi
  63. - if [[ "$VALGRIND_SAMPLES" == "1" ]]; then mkdir build && make DESTDIR=build install; fi
  64. - |
  65. if [[ "$VALGRIND_SAMPLES" == "1" ]]; then
  66. cnt=0
  67. vout=$(mktemp)
  68. for f in $(find $TRAVIS_BUILD_DIR/build/usr/local/opt/RmlUi/Samples/ -executable -type f); do
  69. cd `dirname $f`
  70. sample=$(basename $f)
  71. printf "\033[0;36m$sample\033[0m\n"
  72. LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/build/usr/local/lib timeout --preserve-status --signal=TERM --kill-after=15 10 valgrind --leak-check=full --track-origins=yes --suppressions=$TRAVIS_BUILD_DIR/.travis.valgrind.supp --error-exitcode=1 --log-fd=1 ./$sample >>$vout
  73. cnt=$((cnt+1))
  74. done;
  75. cat $vout
  76. okcnt=$(grep 'ERROR SUMMARY: 0 errors' $vout | wc -l)
  77. if [[ "$okcnt" != "$cnt" ]]; then exit 1; fi
  78. fi