eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
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.

ci.yml 3.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. name: CI
  2. on:
  3. push:
  4. branches: [ master ]
  5. pull_request:
  6. branches: [ master ]
  7. jobs:
  8. build:
  9. runs-on: ubuntu-latest
  10. steps:
  11. - uses: actions/checkout@v2
  12. - name: dependencies
  13. run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown
  14. - name: autoconf
  15. run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
  16. - name: configure
  17. run: ./configure
  18. - name: make
  19. run: make
  20. - name: make check
  21. run: make check
  22. asan:
  23. runs-on: ubuntu-latest
  24. steps:
  25. - uses: actions/checkout@v2
  26. - name: dependencies
  27. run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown
  28. - name: autoconf
  29. run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
  30. - name: configure
  31. run: CXXFLAGS="-fsanitize=address -g -Og" CFLAGS="-fsanitize=address -g -Og" ./configure
  32. - name: make
  33. run: ASAN_OPTIONS="detect_leaks=0" make
  34. - name: make check
  35. run: ASAN_OPTIONS="detect_leaks=0" make check
  36. lsan:
  37. runs-on: ubuntu-latest
  38. steps:
  39. - uses: actions/checkout@v2
  40. - name: dependencies
  41. run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown
  42. - name: autoconf
  43. run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
  44. - name: configure
  45. run: CXXFLAGS="-fsanitize=leak -g -Og" CFLAGS="-fsanitize=leak -g -Og" ./configure
  46. - name: make
  47. run: LSAN_OPTIONS=fast_unwind_on_malloc=0 make
  48. - name: make check
  49. run: LSAN_OPTIONS=fast_unwind_on_malloc=0 make check
  50. msan:
  51. runs-on: ubuntu-latest
  52. steps:
  53. - uses: actions/checkout@v2
  54. - name: dependencies
  55. run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown clang
  56. - name: autoconf
  57. run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
  58. - name: configure
  59. run: CXX=clang++ CC=clang CXXFLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -g -Og" CFLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -g -Og" ./configure --without-pcaudiolib
  60. - name: make
  61. run: make
  62. - name: make check
  63. run: MSAN_OPTIONS=exitcode=42 make check
  64. tsan:
  65. runs-on: ubuntu-latest
  66. steps:
  67. - uses: actions/checkout@v2
  68. - name: dependencies
  69. run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown
  70. - name: autoconf
  71. run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
  72. - name: configure
  73. run: CXXFLAGS="-fsanitize=thread -g -Og" CFLAGS="-fsanitize=thread -g -Og" ./configure
  74. - name: make
  75. run: make
  76. - name: make check
  77. run: make check
  78. usan:
  79. runs-on: ubuntu-latest
  80. steps:
  81. - uses: actions/checkout@v2
  82. - name: dependencies
  83. run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown
  84. - name: autoconf
  85. run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
  86. - name: configure
  87. run: CXXFLAGS="-fsanitize=undefined -g -Og" CFLAGS="-fsanitize=undefined -g -Og" ./configure
  88. - name: make
  89. run: UBSAN_OPTIONS="halt_on_error=1" make
  90. - name: make check
  91. run: UBSAN_OPTIONS="halt_on_error=1" make check
  92. valgrind:
  93. runs-on: ubuntu-latest
  94. steps:
  95. - uses: actions/checkout@v2
  96. - name: dependencies
  97. run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown libtool-bin valgrind
  98. - name: autoconf
  99. run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
  100. - name: configure
  101. run: ./configure
  102. - name: make
  103. run: VALGRIND="libtool --mode=execute valgrind --track-origins=yes --leak-check=full --error-exitcode=1" make
  104. - name: make check
  105. run: VALGRIND="libtool --mode=execute valgrind --track-origins=yes --leak-check=full --error-exitcode=1" make check