Skip to content

Commit 7795bbe

Browse files
committed
Add CI including all libraries individually
1 parent c6bb97d commit 7795bbe

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

.github/workflows/ci.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,50 @@ jobs:
382382
PATH C:\Boost\bin;%PATH%
383383
cmake --build . --config Release && ctest --output-on-failure --no-tests=error -j 3 -C Release
384384
385+
BoostRoot:
386+
strategy:
387+
matrix:
388+
enable_test: [ON, OFF]
389+
fail-fast: false
390+
391+
runs-on: ubuntu-latest
392+
393+
steps:
394+
- uses: actions/checkout@v4
395+
- name: Setup Boost
396+
run: |
397+
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
398+
REF=${REF#refs/heads/}
399+
echo REF: $REF
400+
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
401+
echo BOOST_BRANCH: $BOOST_BRANCH
402+
cd ..
403+
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
404+
cd boost-root
405+
git submodule update --init --jobs 3
406+
rm -rf tools/cmake/*
407+
cp -r $GITHUB_WORKSPACE/* tools/cmake
408+
- name: Configure each library independently
409+
run: |
410+
set -o pipefail
411+
error=""
412+
cd ../boost-root
413+
for cml in libs/*/CMakeLists.txt; do
414+
lib=$(dirname "${cml#*libs/}")
415+
echo "====================================================================="
416+
echo "Building $lib"
417+
echo "====================================================================="
418+
cmake -DBUILD_TESTING=${{matrix.enable_test}} -DBOOST_INCLUDE_LIBRARIES=$lib -B "__build_$lib" . 2>&1 | tee /tmp/config.log || error+=" $lib"
419+
echo; echo; echo
420+
if grep -F "BOOST_INCLUDE_LIBRARIES has not been found" "/tmp/config.log"; then
421+
error+=" $lib"
422+
fi
423+
done
424+
if [[ -n $error ]]; then
425+
echo "Failed libraries: $error"
426+
exit 1
427+
fi
428+
385429
BoostTest:
386430
strategy:
387431
fail-fast: false

0 commit comments

Comments
 (0)