Skip to content

Commit d66034e

Browse files
Replace with file from BGL
1 parent 811f00d commit d66034e

File tree

1 file changed

+283
-22
lines changed

1 file changed

+283
-22
lines changed

.github/workflows/ci.yml

Lines changed: 283 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,37 @@ name: CI
88
on: [ push, pull_request ]
99
jobs:
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

Comments
 (0)