ci.yml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. name: CI
  2. on:
  3. push:
  4. paths-ignore:
  5. - 'docs/**'
  6. - 'LICENSE'
  7. - 'read.me'
  8. - 'README.md'
  9. pull_request:
  10. paths-ignore:
  11. - 'docs/**'
  12. - 'LICENSE'
  13. - 'read.me'
  14. - 'README.md'
  15. env:
  16. TEST_REF_FORBID_GEN_REFS: true
  17. jobs:
  18. tests-ubuntu2004-gpp:
  19. strategy:
  20. matrix:
  21. os: [ubuntu-20.04]
  22. compiler: [g++]
  23. version: [9, 10]
  24. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  25. runs-on: ${{ matrix.os }}
  26. steps:
  27. - uses: actions/checkout@v3
  28. - name: Run tests
  29. run: |
  30. cd tests
  31. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  32. tests-ubuntu2004-clang:
  33. strategy:
  34. matrix:
  35. os: [ubuntu-20.04]
  36. compiler: [clang++]
  37. version: [10, 11, 12]
  38. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  39. runs-on: ${{ matrix.os }}
  40. steps:
  41. - uses: actions/checkout@v3
  42. - name: Run tests
  43. run: |
  44. cd tests
  45. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  46. tests-ubuntu2204-gpp:
  47. strategy:
  48. matrix:
  49. os: [ubuntu-22.04]
  50. compiler: [g++]
  51. version: [9, 10, 11, 12]
  52. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  53. runs-on: ${{ matrix.os }}
  54. steps:
  55. - uses: actions/checkout@v3
  56. - name: Run tests
  57. run: |
  58. cd tests
  59. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  60. tests-ubuntu2204-clang:
  61. strategy:
  62. matrix:
  63. os: [ubuntu-22.04]
  64. compiler: [clang++]
  65. version: [13, 14]
  66. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  67. runs-on: ${{ matrix.os }}
  68. steps:
  69. - uses: actions/checkout@v3
  70. - name: Run tests
  71. run: |
  72. cd tests
  73. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  74. tests-ubuntu2004-gpp-32:
  75. strategy:
  76. matrix:
  77. os: [ubuntu-20.04]
  78. compiler: [g++]
  79. version: [9, 10]
  80. name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
  81. runs-on: ${{ matrix.os }}
  82. steps:
  83. - uses: actions/checkout@v3
  84. - name: Run tests
  85. run: |
  86. sudo apt-get install gcc-${{ matrix.version }}-multilib g++-${{ matrix.version }}-multilib
  87. cd tests
  88. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
  89. tests-ubuntu2004-clang-32:
  90. strategy:
  91. matrix:
  92. os: [ubuntu-20.04]
  93. compiler: [clang++]
  94. version: [10, 11, 12]
  95. name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
  96. runs-on: ${{ matrix.os }}
  97. steps:
  98. - uses: actions/checkout@v3
  99. - name: Run tests
  100. run: |
  101. sudo apt-get install gcc-multilib g++-multilib
  102. cd tests
  103. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
  104. tests-ubuntu2204-gpp-32:
  105. strategy:
  106. matrix:
  107. os: [ubuntu-22.04]
  108. compiler: [g++]
  109. version: [9, 10, 11]
  110. name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
  111. runs-on: ${{ matrix.os }}
  112. steps:
  113. - uses: actions/checkout@v3
  114. - name: Run tests
  115. run: |
  116. sudo apt-get install gcc-${{ matrix.version }}-multilib g++-${{ matrix.version }}-multilib
  117. cd tests
  118. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
  119. tests-ubuntu2204-clang-32:
  120. strategy:
  121. matrix:
  122. os: [ubuntu-22.04]
  123. compiler: [clang++]
  124. version: [13, 14]
  125. name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
  126. runs-on: ${{ matrix.os }}
  127. steps:
  128. - uses: actions/checkout@v3
  129. - name: Run tests
  130. run: |
  131. sudo apt-get install gcc-multilib g++-multilib
  132. cd tests
  133. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
  134. tests-macos11-gpp:
  135. strategy:
  136. matrix:
  137. os: [macos-11]
  138. compiler: [g++]
  139. version: [10, 11, 12]
  140. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  141. runs-on: ${{ matrix.os }}
  142. steps:
  143. - uses: actions/checkout@v3
  144. - name: Run tests
  145. run: |
  146. cd tests
  147. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  148. tests-macos11-clang:
  149. strategy:
  150. matrix:
  151. os: [macos-11]
  152. compiler: [clang++]
  153. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  154. runs-on: ${{ matrix.os }}
  155. steps:
  156. - uses: actions/checkout@v3
  157. - name: Run tests
  158. run: |
  159. cd tests
  160. bash ./run.sh ${{ matrix.compiler }}
  161. tests-macos12-gpp:
  162. strategy:
  163. matrix:
  164. os: [macos-12]
  165. compiler: [g++]
  166. version: [11, 12, 13]
  167. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  168. runs-on: ${{ matrix.os }}
  169. steps:
  170. - uses: actions/checkout@v3
  171. - name: Run tests
  172. run: |
  173. cd tests
  174. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  175. tests-macos12-clang:
  176. strategy:
  177. matrix:
  178. os: [macos-12]
  179. compiler: [clang++]
  180. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  181. runs-on: ${{ matrix.os }}
  182. steps:
  183. - uses: actions/checkout@v3
  184. - name: Run tests
  185. run: |
  186. cd tests
  187. bash ./run.sh ${{ matrix.compiler }}
  188. tests-macos13-gpp:
  189. strategy:
  190. matrix:
  191. os: [macos-13]
  192. compiler: [g++]
  193. version: [11, 12, 13]
  194. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  195. runs-on: ${{ matrix.os }}
  196. steps:
  197. - uses: actions/checkout@v3
  198. - name: Run tests
  199. run: |
  200. cd tests
  201. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  202. tests-macos13-clang:
  203. strategy:
  204. matrix:
  205. os: [macos-13]
  206. compiler: [clang++]
  207. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  208. runs-on: ${{ matrix.os }}
  209. steps:
  210. - uses: actions/checkout@v3
  211. - name: Run tests
  212. run: |
  213. cd tests
  214. bash ./run.sh ${{ matrix.compiler }}
  215. tests-windows-2019:
  216. strategy:
  217. matrix:
  218. os: [windows-2019]
  219. compiler: [msvc, g++, clang++]
  220. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  221. runs-on: ${{ matrix.os }}
  222. steps:
  223. - uses: actions/checkout@v3
  224. - name: Run tests
  225. run: |
  226. cd tests
  227. bash ./run.sh ${{ matrix.compiler }}
  228. tests-windows-2022:
  229. strategy:
  230. matrix:
  231. os: [windows-2022]
  232. compiler: [msvc, g++, clang++]
  233. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  234. runs-on: ${{ matrix.os }}
  235. steps:
  236. - uses: actions/checkout@v3
  237. - name: Run tests
  238. run: |
  239. cd tests
  240. bash ./run.sh ${{ matrix.compiler }}