ci.yml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  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-ubuntu2204-gpp:
  19. strategy:
  20. matrix:
  21. os: [ubuntu-22.04]
  22. compiler: [g++]
  23. version: [9, 10, 11, 12]
  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-ubuntu2204-clang:
  33. strategy:
  34. matrix:
  35. os: [ubuntu-22.04]
  36. compiler: [clang++]
  37. version: [13, 14]
  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-32:
  47. strategy:
  48. matrix:
  49. os: [ubuntu-22.04]
  50. compiler: [g++]
  51. version: [9, 10, 11]
  52. name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
  53. runs-on: ${{ matrix.os }}
  54. steps:
  55. - uses: actions/checkout@v3
  56. - name: Run tests
  57. run: |
  58. sudo apt-get update
  59. sudo apt-get install gcc-${{ matrix.version }}-multilib g++-${{ matrix.version }}-multilib
  60. cd tests
  61. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
  62. tests-ubuntu2204-clang-32:
  63. strategy:
  64. matrix:
  65. os: [ubuntu-22.04]
  66. compiler: [clang++]
  67. version: [13, 14]
  68. name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
  69. runs-on: ${{ matrix.os }}
  70. steps:
  71. - uses: actions/checkout@v3
  72. - name: Run tests
  73. run: |
  74. sudo apt-get update
  75. sudo apt-get install gcc-multilib g++-multilib
  76. cd tests
  77. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
  78. tests-ubuntu2404-gpp:
  79. strategy:
  80. matrix:
  81. os: [ubuntu-24.04]
  82. compiler: [g++]
  83. version: [13]
  84. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  85. runs-on: ${{ matrix.os }}
  86. steps:
  87. - uses: actions/checkout@v3
  88. - name: Run tests
  89. run: |
  90. cd tests
  91. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  92. tests-ubuntu2404-clang:
  93. strategy:
  94. matrix:
  95. os: [ubuntu-24.04]
  96. compiler: [clang++]
  97. version: [16]
  98. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  99. runs-on: ${{ matrix.os }}
  100. steps:
  101. - uses: actions/checkout@v3
  102. - name: Run tests
  103. run: |
  104. cd tests
  105. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  106. tests-macos13-gpp:
  107. strategy:
  108. matrix:
  109. os: [macos-13]
  110. compiler: [g++]
  111. version: [12, 13, 14]
  112. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  113. runs-on: ${{ matrix.os }}
  114. steps:
  115. - uses: actions/checkout@v3
  116. - name: Run tests
  117. run: |
  118. cd tests
  119. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  120. tests-macos13-clang:
  121. strategy:
  122. matrix:
  123. os: [macos-13]
  124. compiler: [clang++]
  125. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  126. runs-on: ${{ matrix.os }}
  127. steps:
  128. - uses: actions/checkout@v3
  129. - name: Run tests
  130. run: |
  131. cd tests
  132. bash ./run.sh ${{ matrix.compiler }}
  133. tests-macos14-gpp:
  134. strategy:
  135. matrix:
  136. os: [macos-14]
  137. compiler: [g++]
  138. version: [12, 13, 14]
  139. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  140. runs-on: ${{ matrix.os }}
  141. steps:
  142. - uses: actions/checkout@v3
  143. - name: Run tests
  144. run: |
  145. cd tests
  146. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  147. tests-macos14-clang:
  148. strategy:
  149. matrix:
  150. os: [macos-14]
  151. compiler: [clang++]
  152. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  153. runs-on: ${{ matrix.os }}
  154. steps:
  155. - uses: actions/checkout@v3
  156. - name: Run tests
  157. run: |
  158. cd tests
  159. bash ./run.sh ${{ matrix.compiler }}
  160. tests-macos15-gpp:
  161. strategy:
  162. matrix:
  163. os: [macos-15]
  164. compiler: [g++]
  165. version: [12, 13, 14]
  166. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  167. runs-on: ${{ matrix.os }}
  168. steps:
  169. - uses: actions/checkout@v3
  170. - name: Run tests
  171. run: |
  172. cd tests
  173. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  174. tests-macos15-clang:
  175. strategy:
  176. matrix:
  177. os: [macos-15]
  178. compiler: [clang++]
  179. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  180. runs-on: ${{ matrix.os }}
  181. steps:
  182. - uses: actions/checkout@v3
  183. - name: Run tests
  184. run: |
  185. cd tests
  186. bash ./run.sh ${{ matrix.compiler }}
  187. tests-windows-2022:
  188. strategy:
  189. matrix:
  190. os: [windows-2022]
  191. compiler: [msvc, g++, clang++]
  192. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  193. runs-on: ${{ matrix.os }}
  194. steps:
  195. - uses: actions/checkout@v3
  196. - name: Run tests
  197. run: |
  198. cd tests
  199. bash ./run.sh ${{ matrix.compiler }}
  200. tests-windows-2025:
  201. strategy:
  202. matrix:
  203. os: [windows-2025]
  204. compiler: [msvc, g++, clang++]
  205. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  206. runs-on: ${{ matrix.os }}
  207. steps:
  208. - uses: actions/checkout@v3
  209. - name: Run tests
  210. run: |
  211. cd tests
  212. bash ./run.sh ${{ matrix.compiler }}