ci.yml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. name: CI
  2. on:
  3. pull_request:
  4. push:
  5. branches:
  6. - master
  7. - develop
  8. - feature/**
  9. tags:
  10. - '**'
  11. jobs:
  12. b2-posix:
  13. strategy:
  14. fail-fast: false
  15. matrix:
  16. include:
  17. - os: ubuntu-20.04
  18. - os: ubuntu-22.04
  19. - os: ubuntu-22.04-arm
  20. - os: ubuntu-24.04
  21. - os: ubuntu-24.04-arm
  22. - os: macos-13
  23. - os: macos-14
  24. - os: macos-15
  25. runs-on: ${{matrix.os}}
  26. steps:
  27. - uses: actions/checkout@v4
  28. with:
  29. submodules: true
  30. - name: Setup Boost
  31. run: |
  32. ./bootstrap.sh
  33. ./b2 -d0 headers
  34. - name: Build Boost
  35. run: |
  36. ./b2 -j3 stage
  37. - name: Install Boost
  38. run: |
  39. ./b2 -j3 --prefix=$HOME/.local install
  40. - name: Test Boost
  41. run: |
  42. cd status
  43. ../b2 -j3 quick
  44. b2-windows:
  45. strategy:
  46. fail-fast: false
  47. matrix:
  48. include:
  49. - os: windows-2019
  50. - os: windows-2022
  51. - os: windows-2025
  52. runs-on: ${{matrix.os}}
  53. steps:
  54. - uses: actions/checkout@v4
  55. with:
  56. submodules: true
  57. - name: Setup Boost
  58. shell: cmd
  59. run: |
  60. cmd /c bootstrap
  61. b2 -d0 headers
  62. - name: Build Boost
  63. run: |
  64. ./b2 -j3 stage
  65. - name: Install Boost
  66. run: |
  67. ./b2 -j3 install
  68. - name: Test Boost
  69. run: |
  70. cd status
  71. ../b2 -j3 quick
  72. cmake-install-posix:
  73. strategy:
  74. fail-fast: false
  75. matrix:
  76. include:
  77. - os: ubuntu-20.04
  78. - os: ubuntu-22.04
  79. - os: ubuntu-22.04-arm
  80. - os: ubuntu-24.04
  81. - os: ubuntu-24.04-arm
  82. - os: macos-13
  83. - os: macos-14
  84. - os: macos-15
  85. runs-on: ${{matrix.os}}
  86. timeout-minutes: 20
  87. steps:
  88. - uses: actions/checkout@v4
  89. with:
  90. submodules: true
  91. - name: Configure Boost
  92. run: |
  93. mkdir __build__ && cd __build__
  94. cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=~/.local ..
  95. - name: Build Boost
  96. run: |
  97. cd __build__
  98. cmake --build . -j 3
  99. - name: Install Boost
  100. run: |
  101. cd __build__
  102. cmake --build . -j 3 --target install
  103. cmake-install-windows:
  104. strategy:
  105. fail-fast: false
  106. matrix:
  107. include:
  108. - os: windows-2019
  109. - os: windows-2022
  110. - os: windows-2025
  111. runs-on: ${{matrix.os}}
  112. steps:
  113. - uses: actions/checkout@v4
  114. with:
  115. submodules: true
  116. - name: Configure Boost
  117. run: |
  118. mkdir __build__ && cd __build__
  119. cmake -DBUILD_SHARED_LIBS=ON ..
  120. - name: Build Boost
  121. run: |
  122. cd __build__
  123. cmake --build . -j 3
  124. - name: Install Boost
  125. run: |
  126. cd __build__
  127. cmake --build . -j 3 --target install
  128. cmake-test-posix:
  129. strategy:
  130. fail-fast: false
  131. matrix:
  132. include:
  133. - os: ubuntu-latest
  134. runs-on: ${{matrix.os}}
  135. steps:
  136. - uses: actions/checkout@v4
  137. with:
  138. submodules: true
  139. - name: Configure Boost
  140. run: |
  141. mkdir __build__ && cd __build__
  142. cmake -DBUILD_TESTING=ON -DBOOST_EXCLUDE_LIBRARIES="process;geometry" ..
  143. - name: Build tests
  144. run: |
  145. cd __build__
  146. cmake --build . -j 3 --target tests
  147. - name: Run tests
  148. run: |
  149. cd __build__
  150. ctest --output-on-failure --no-tests=error -j 3
  151. cmake-test-posix-quick:
  152. strategy:
  153. fail-fast: false
  154. matrix:
  155. include:
  156. - os: ubuntu-20.04
  157. - os: ubuntu-22.04
  158. - os: ubuntu-22.04-arm
  159. - os: ubuntu-24.04
  160. - os: ubuntu-24.04-arm
  161. - os: macos-13
  162. - os: macos-14
  163. - os: macos-15
  164. runs-on: ${{matrix.os}}
  165. timeout-minutes: 90
  166. steps:
  167. - uses: actions/checkout@v4
  168. with:
  169. submodules: true
  170. - name: Configure Boost
  171. run: |
  172. mkdir __build__ && cd __build__
  173. cmake -DBUILD_TESTING=ON ..
  174. - name: Build tests
  175. run: |
  176. cd __build__
  177. cmake --build . -j 3 --target tests-quick
  178. - name: Run tests
  179. run: |
  180. cd __build__
  181. ctest --output-on-failure --no-tests=error -j 3 -R quick
  182. cmake-test-windows-quick:
  183. strategy:
  184. fail-fast: false
  185. matrix:
  186. include:
  187. - os: windows-2019
  188. - os: windows-2022
  189. - os: windows-2025
  190. runs-on: ${{matrix.os}}
  191. steps:
  192. - uses: actions/checkout@v4
  193. with:
  194. submodules: true
  195. - name: Configure Boost
  196. run: |
  197. mkdir __build__ && cd __build__
  198. cmake -DBUILD_TESTING=ON ..
  199. - name: Build tests
  200. run: |
  201. cd __build__
  202. cmake --build . -j 3 --target tests-quick
  203. - name: Run tests
  204. run: |
  205. cd __build__
  206. ctest --output-on-failure --no-tests=error -j 3 -R quick -C Debug
粤ICP备19079148号