ci.yml 6.2 KB

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