ci.yml 4.7 KB

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