ci.yml 4.7 KB

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