ci.yml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  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-ubuntu1804-gpp:
  19. strategy:
  20. matrix:
  21. os: [ubuntu-18.04]
  22. compiler: [g++]
  23. version: [7, 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-ubuntu1804-clang:
  33. strategy:
  34. matrix:
  35. os: [ubuntu-18.04]
  36. compiler: [clang++]
  37. version: [9]
  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]
  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: [12, 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-ubuntu1804-gpp-32:
  75. strategy:
  76. matrix:
  77. os: [ubuntu-18.04]
  78. compiler: [g++]
  79. version: [7, 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-ubuntu1804-clang-32:
  90. strategy:
  91. matrix:
  92. os: [ubuntu-18.04]
  93. compiler: [clang++]
  94. version: [9]
  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: [12, 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: [9, 10]
  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. name: Use ${{ matrix.compiler }} 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 }}
  174. tests-macos12-clang:
  175. strategy:
  176. matrix:
  177. os: [macos-12]
  178. compiler: [clang++]
  179. version: [12, 13, 14]
  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-windows:
  189. strategy:
  190. matrix:
  191. os: [windows-2019, windows-2022]
  192. compiler: [msvc, g++, clang++]
  193. name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
  194. runs-on: ${{ matrix.os }}
  195. steps:
  196. - uses: actions/checkout@v3
  197. - name: Run tests
  198. run: |
  199. cd tests
  200. bash ./run.sh ${{ matrix.compiler }}