@@ -8,34 +8,37 @@ name: CI
88on : [ push, pull_request ]
99jobs :
1010 ubuntu :
11- runs-on : ubuntu-latest
11+ runs-on : ubuntu-24.04
1212 strategy :
1313 fail-fast : false
1414 matrix :
15- compiler : [ g++-13, g++-14, clang++-19 ]
15+ compiler : [ gcc-14, clang-19 ]
16+ cxxstd : [ 14, 17, 20, 23 ]
1617 steps :
17- - uses : actions/checkout@v2
18+ - uses : actions/checkout@master
1819 with :
1920 fetch-depth : ' 0'
2021 - uses : mstachniuk/ci-skip@v1
2122 with :
2223 commit-filter : ' [skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
2324 commit-filter-separator : ' ;'
2425 fail-fast : true
25- - name : Set TOOLSET
26- run : echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
26+ - name : Set ENV
27+ run : |
28+ echo ${{ matrix.compiler }} | awk '/^gcc/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
29+ echo ${{ matrix.compiler }} | awk '/^gcc/ { gsub(/gcc/,"CXX=g++"); print; } /^clang/ { gsub(/clang/,"CXX=clang++"); print; }' >> $GITHUB_ENV
2730 - name : Install packages
28- run : sudo apt install g++-13 g++-14 clang-19 mpich
31+ run : sudo apt install ${{ matrix.compiler }}
2932 - name : Checkout main boost
3033 run : git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
3134 - name : Update tools/boostdep
3235 run : git submodule update --init tools/boostdep
3336 working-directory : ../boost-root
3437 - name : Copy files
35- run : cp -r $GITHUB_WORKSPACE/* libs/graph_parallel
38+ run : cp -r $GITHUB_WORKSPACE/* libs/graph
3639 working-directory : ../boost-root
3740 - name : Install deps
38- run : python tools/boostdep/depinst/depinst.py graph_parallel
41+ run : python tools/boostdep/depinst/depinst.py graph
3942 working-directory : ../boost-root
4043 - name : Bootstrap
4144 run : ./bootstrap.sh
@@ -44,22 +47,23 @@ jobs:
4447 run : ./b2 headers
4548 working-directory : ../boost-root
4649 - name : Generate user config
47- run : ' echo "using $TOOLSET : : ${{ matrix.compiler }} ;" > ~/user-config.jam && echo "using mpi ;" > > ~/user-config.jam'
50+ run : ' echo "using $TOOLSET : : $CXX ;" > ~/user-config.jam'
4851 working-directory : ../boost-root
4952 - name : Config info
50- run : ../../../b2 print_config_info toolset=$TOOLSET cxxstd=03,11,14,17,2a
53+ run : ../../../b2 print_config_info toolset=$TOOLSET cxxstd=${{ matrix.cxxstd }}
5154 working-directory : ../boost-root/libs/config/test
5255 - name : Test
53- run : ../../../b2 toolset=$TOOLSET cxxstd=03,11,14,17,2a
54- working-directory : ../boost-root/libs/graph_parallel /test
56+ run : ../../../b2 toolset=$TOOLSET cxxstd=${{ matrix.cxxstd }}
57+ working-directory : ../boost-root/libs/graph /test
5558 macos :
5659 runs-on : macos-latest
5760 strategy :
5861 fail-fast : false
5962 matrix :
6063 toolset : [ clang ]
64+ cxxstd : [ 14, 17, 20 ]
6165 steps :
62- - uses : actions/checkout@v2
66+ - uses : actions/checkout@master
6367 with :
6468 fetch-depth : ' 0'
6569 - uses : mstachniuk/ci-skip@v1
@@ -73,24 +77,281 @@ jobs:
7377 run : git submodule update --init tools/boostdep
7478 working-directory : ../boost-root
7579 - name : Copy files
76- run : cp -r $GITHUB_WORKSPACE/* libs/graph_parallel
80+ run : cp -r $GITHUB_WORKSPACE/* libs/graph
7781 working-directory : ../boost-root
7882 - name : Install deps
79- run : python tools/boostdep/depinst/depinst.py graph_parallel
83+ run : python tools/boostdep/depinst/depinst.py graph
8084 working-directory : ../boost-root
8185 - name : Bootstrap
8286 run : ./bootstrap.sh
8387 working-directory : ../boost-root
8488 - name : Generate headers
8589 run : ./b2 headers
8690 working-directory : ../boost-root
87- - name : Install MPI
88- run : brew install mpich
89- - name : Generate user-config
90- run : echo "using mpi ;" > ~/user-config.jam
9191 - name : Config info
92- run : ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a
92+ run : ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=${{ matrix.cxxstd }}
93+ working-directory : ../boost-root/libs/config/test
94+ - name : Test
95+ run : ../../../b2 toolset=${{ matrix.toolset }} cxxstd=${{ matrix.cxxstd }} define=CI_SUPPRESS_KNOWN_ISSUES
96+ working-directory : ../boost-root/libs/graph/test
97+ windows_msvc_14_3 :
98+ runs-on : windows-2022
99+ defaults :
100+ run :
101+ shell : cmd
102+ strategy :
103+ fail-fast : false
104+ matrix :
105+ toolset : [ msvc-14.3 ]
106+ steps :
107+ - uses : actions/checkout@v2
108+ with :
109+ fetch-depth : ' 0'
110+ - uses : mstachniuk/ci-skip@v1
111+ with :
112+ commit-filter : ' [skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[apple];[Apple];[APPLE];[linux];[Linux];[LINUX]'
113+ commit-filter-separator : ' ;'
114+ fail-fast : true
115+ - name : Checkout main boost
116+ run : git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
117+ - name : Update tools/boostdep
118+ run : git submodule update --init tools/boostdep
119+ working-directory : ../boost-root
120+ - name : Copy files
121+ run : xcopy /s /e /q %GITHUB_WORKSPACE% libs\graph
122+ working-directory : ../boost-root
123+ - name : Install deps
124+ run : python tools/boostdep/depinst/depinst.py graph
125+ working-directory : ../boost-root
126+ - name : Bootstrap
127+ run : bootstrap
128+ working-directory : ../boost-root
129+ - name : Generate headers
130+ run : b2 headers
131+ working-directory : ../boost-root
132+ - name : Config info
133+ run : ..\..\..\b2 print_config_info cxxstd=14,17,20 address-model=64 toolset=msvc-14.3
93134 working-directory : ../boost-root/libs/config/test
94135 - name : Test
95- run : ../../../b2 toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a define=CI_SUPPRESS_KNOWN_ISSUES
96- working-directory : ../boost-root/libs/graph_parallel/test
136+ run : ..\..\..\b2 --hash address-model=64 cxxstd=14,17,20 toolset=msvc-14.3
137+ working-directory : ../boost-root/libs/graph/test
138+
139+ posix-cmake-subdir :
140+ strategy :
141+ fail-fast : false
142+ matrix :
143+ include :
144+ - os : ubuntu-22.04
145+ - os : ubuntu-24.04
146+ - os : macos-14
147+ - os : macos-15
148+
149+ runs-on : ${{matrix.os}}
150+
151+ steps :
152+ - uses : actions/checkout@v4
153+
154+ - name : Install packages
155+ if : matrix.install
156+ run : sudo apt-get -y install ${{matrix.install}}
157+
158+ - name : Setup Boost
159+ run : |
160+ echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
161+ LIBRARY=${GITHUB_REPOSITORY#*/}
162+ echo LIBRARY: $LIBRARY
163+ echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
164+ echo GITHUB_BASE_REF: $GITHUB_BASE_REF
165+ echo GITHUB_REF: $GITHUB_REF
166+ REF=${GITHUB_BASE_REF:-$GITHUB_REF}
167+ REF=${REF#refs/heads/}
168+ echo REF: $REF
169+ BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
170+ echo BOOST_BRANCH: $BOOST_BRANCH
171+ cd ..
172+ git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
173+ cd boost-root
174+ cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
175+ git submodule update --init tools/boostdep
176+ python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
177+
178+ - name : Use library with add_subdirectory
179+ run : |
180+ cd ../boost-root/libs/$LIBRARY/test/cmake_subdir_test
181+ mkdir __build__ && cd __build__
182+ cmake ..
183+ cmake --build .
184+ ctest --output-on-failure --no-tests=error
185+
186+ posix-cmake-install :
187+ strategy :
188+ fail-fast : false
189+ matrix :
190+ include :
191+ - os : ubuntu-22.04
192+ - os : ubuntu-24.04
193+ - os : macos-14
194+ - os : macos-15
195+
196+ runs-on : ${{matrix.os}}
197+
198+ steps :
199+ - uses : actions/checkout@v4
200+
201+ - name : Install packages
202+ if : matrix.install
203+ run : sudo apt-get -y install ${{matrix.install}}
204+
205+ - name : Setup Boost
206+ run : |
207+ echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
208+ LIBRARY=${GITHUB_REPOSITORY#*/}
209+ echo LIBRARY: $LIBRARY
210+ echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
211+ echo GITHUB_BASE_REF: $GITHUB_BASE_REF
212+ echo GITHUB_REF: $GITHUB_REF
213+ REF=${GITHUB_BASE_REF:-$GITHUB_REF}
214+ REF=${REF#refs/heads/}
215+ echo REF: $REF
216+ BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
217+ echo BOOST_BRANCH: $BOOST_BRANCH
218+ cd ..
219+ git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
220+ cd boost-root
221+ cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
222+ git submodule update --init tools/boostdep
223+ python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
224+
225+ - name : Configure
226+ run : |
227+ cd ../boost-root
228+ mkdir __build__ && cd __build__
229+ cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY -DCMAKE_INSTALL_PREFIX=~/.local ..
230+
231+ - name : Install
232+ run : |
233+ cd ../boost-root/__build__
234+ cmake --build . --target install
235+
236+ - name : Use the installed library
237+ run : |
238+ cd ../boost-root/libs/$LIBRARY/test/cmake_install_test && mkdir __build__ && cd __build__
239+ cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
240+ cmake --build .
241+ ctest --output-on-failure --no-tests=error
242+
243+ windows-cmake-subdir :
244+ strategy :
245+ fail-fast : false
246+ matrix :
247+ include :
248+ - os : windows-2022
249+ - os : windows-2025
250+
251+ runs-on : ${{matrix.os}}
252+
253+ steps :
254+ - uses : actions/checkout@v4
255+
256+ - name : Setup Boost
257+ shell : cmd
258+ run : |
259+ echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
260+ for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
261+ echo LIBRARY: %LIBRARY%
262+ echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
263+ echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
264+ echo GITHUB_REF: %GITHUB_REF%
265+ if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
266+ set BOOST_BRANCH=develop
267+ for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
268+ echo BOOST_BRANCH: %BOOST_BRANCH%
269+ cd ..
270+ git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
271+ cd boost-root
272+ xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
273+ git submodule update --init tools/boostdep
274+ python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
275+
276+ - name : Use library with add_subdirectory (Debug)
277+ shell : cmd
278+ run : |
279+ cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test
280+ mkdir __build__ && cd __build__
281+ cmake ..
282+ cmake --build . --config Debug
283+ ctest --output-on-failure --no-tests=error -C Debug
284+
285+ - name : Use library with add_subdirectory (Release)
286+ shell : cmd
287+ run : |
288+ cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test/__build__
289+ cmake --build . --config Release
290+ ctest --output-on-failure --no-tests=error -C Release
291+
292+ windows-cmake-install :
293+ strategy :
294+ fail-fast : false
295+ matrix :
296+ include :
297+ - os : windows-2022
298+ - os : windows-2025
299+
300+ runs-on : ${{matrix.os}}
301+
302+ steps :
303+ - uses : actions/checkout@v4
304+
305+ - name : Setup Boost
306+ shell : cmd
307+ run : |
308+ echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
309+ for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
310+ echo LIBRARY: %LIBRARY%
311+ echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
312+ echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
313+ echo GITHUB_REF: %GITHUB_REF%
314+ if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
315+ set BOOST_BRANCH=develop
316+ for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
317+ echo BOOST_BRANCH: %BOOST_BRANCH%
318+ cd ..
319+ git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
320+ cd boost-root
321+ xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
322+ git submodule update --init tools/boostdep
323+ python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
324+
325+ - name : Configure
326+ shell : cmd
327+ run : |
328+ cd ../boost-root
329+ mkdir __build__ && cd __build__
330+ cmake -DBOOST_INCLUDE_LIBRARIES=%LIBRARY% -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
331+
332+ - name : Install (Debug)
333+ shell : cmd
334+ run : |
335+ cd ../boost-root/__build__
336+ cmake --build . --target install --config Debug
337+
338+ - name : Install (Release)
339+ shell : cmd
340+ run : |
341+ cd ../boost-root/__build__
342+ cmake --build . --target install --config Release
343+
344+ - name : Use the installed library (Debug)
345+ shell : cmd
346+ run : |
347+ cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test && mkdir __build__ && cd __build__
348+ cmake -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
349+ cmake --build . --config Debug
350+ ctest --output-on-failure --no-tests=error -C Debug
351+
352+ - name : Use the installed library (Release)
353+ shell : cmd
354+ run : |
355+ cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test/__build__
356+ cmake --build . --config Release
357+ ctest --output-on-failure --no-tests=error -C Release
0 commit comments