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. #
  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. tests-ubuntu2004-clang-32:
  93. strategy:
  94. matrix:
  95. os: [ubuntu-20.04]
  96. compiler: [clang++]
  97. version: [10, 11, 12]
  98. name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
  99. runs-on: ${{ matrix.os }}
  100. steps:
  101. - uses: actions/checkout@v3
  102. - name: Run tests
  103. run: |
  104. sudo apt-get update
  105. sudo apt-get install gcc-multilib g++-multilib
  106. cd tests
  107. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
  108. tests-ubuntu2204-gpp-32:
  109. strategy:
  110. matrix:
  111. os: [ubuntu-22.04]
  112. compiler: [g++]
  113. version: [9, 10, 11]
  114. name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
  115. runs-on: ${{ matrix.os }}
  116. steps:
  117. - uses: actions/checkout@v3
  118. - name: Run tests
  119. run: |
  120. sudo apt-get update
  121. sudo apt-get install gcc-${{ matrix.version }}-multilib g++-${{ matrix.version }}-multilib
  122. cd tests
  123. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
  124. tests-ubuntu2204-clang-32:
  125. strategy:
  126. matrix:
  127. os: [ubuntu-22.04]
  128. compiler: [clang++]
  129. version: [13, 14]
  130. name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
  131. runs-on: ${{ matrix.os }}
  132. steps:
  133. - uses: actions/checkout@v3
  134. - name: Run tests
  135. run: |
  136. sudo apt-get update
  137. sudo apt-get install gcc-multilib g++-multilib
  138. cd tests
  139. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
  140. tests-macos14-gpp:
  141. strategy:
  142. matrix:
  143. os: [macos-14]
  144. compiler: [g++]
  145. version: [13, 14, 15]
  146. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  147. runs-on: ${{ matrix.os }}
  148. steps:
  149. - uses: actions/checkout@v3
  150. - name: Run tests
  151. run: |
  152. cd tests
  153. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  154. tests-macos14-clang:
  155. strategy:
  156. matrix:
  157. os: [macos-14]
  158. compiler: [clang++]
  159. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  160. runs-on: ${{ matrix.os }}
  161. steps:
  162. - uses: actions/checkout@v3
  163. - name: Run tests
  164. run: |
  165. cd tests
  166. bash ./run.sh ${{ matrix.compiler }}
  167. tests-macos15arm64-gpp:
  168. strategy:
  169. matrix:
  170. os: [macos-15-arm64]
  171. compiler: [g++]
  172. version: [13, 14, 15]
  173. name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
  174. runs-on: ${{ matrix.os }}
  175. steps:
  176. - uses: actions/checkout@v3
  177. - name: Run tests
  178. run: |
  179. cd tests
  180. bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
  181. tests-macos15arm64-clang:
  182. strategy:
  183. matrix:
  184. os: [macos-15-arm64]
  185. compiler: [clang++]
  186. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  187. runs-on: ${{ matrix.os }}
  188. steps:
  189. - uses: actions/checkout@v3
  190. - name: Run tests
  191. run: |
  192. cd tests
  193. bash ./run.sh ${{ matrix.compiler }}
  194. tests-windows-2019:
  195. strategy:
  196. matrix:
  197. os: [windows-2019]
  198. compiler: [msvc, g++, clang++]
  199. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  200. runs-on: ${{ matrix.os }}
  201. steps:
  202. - uses: actions/checkout@v3
  203. - name: Run tests
  204. run: |
  205. cd tests
  206. bash ./run.sh ${{ matrix.compiler }}
  207. tests-windows-2022:
  208. strategy:
  209. matrix:
  210. os: [windows-2022]
  211. compiler: [msvc, g++, clang++]
  212. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  213. runs-on: ${{ matrix.os }}
  214. steps:
  215. - uses: actions/checkout@v3
  216. - name: Run tests
  217. run: |
  218. cd tests
  219. bash ./run.sh ${{ matrix.compiler }}