ci.yml 7.0 KB

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