ci.yml 4.9 KB

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