From c39914d997fea9c1ac85f59e758d206e66696177 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Wed, 31 Dec 2025 21:02:22 +0100 Subject: [PATCH] Posix/cygwin/bsd: make cxxstd optional Add docs built test, thanks to sdarwin --- .github/workflows/ci.yml | 97 +++++++++++++++++++++++++++++----------- 1 file changed, 71 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a82bf97..bb4ce1a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -610,7 +610,7 @@ jobs: if: matrix.cmake_tests == '' run: | cd boost-root - B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}" "cxxstd=${{matrix.cxxstd}}" "debug-symbols=off") + B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}" "debug-symbols=off") #Build variant if [ -n "${{matrix.build_variant}}" ] then @@ -655,6 +655,12 @@ jobs: then B2_ARGS+=("linkflags=${{matrix.linkflags}}") fi + #cxxstd + if [ -n "${{matrix.cxxstd}}" ] + then + B2_ARGS+=("cxxstd=${{matrix.cxxstd}}") + fi + B2_ARGS+=("libs/$LIBRARY/test") ./b2 "${B2_ARGS[@]}" @@ -814,8 +820,7 @@ jobs: /usr/sbin/cygserver & sleep 2 cd boost-root - ${{matrix.toolset}} --version - B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}" "cxxstd=${{matrix.cxxstd}}" "debug-symbols=off") + B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}" "debug-symbols=off") #Build variant if [ -n "${{matrix.build_variant}}" ] then @@ -860,6 +865,11 @@ jobs: then B2_ARGS+=("linkflags=${{matrix.linkflags}}") fi + #cxxstd + if [ -n "${{matrix.cxxstd}}" ] + then + B2_ARGS+=("cxxstd=${{matrix.cxxstd}}") + fi B2_ARGS+=("libs/$LIBRARY/test") ./b2 "${B2_ARGS[@]}" @@ -910,7 +920,7 @@ jobs: pwd ls -la set -e - + # Install required packages echo "Installing packages..." if [ "${{matrix.vm}}" == "freebsd" ] @@ -957,7 +967,6 @@ jobs: echo BUILD_JOBS: $BUILD_JOBS DEPINST_ARGS=() DEPINST_ARGS+=("--git_args" "--jobs $GIT_FETCH_JOBS") - mkdir -p snapshot cd snapshot echo "Downloading library snapshot: https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_SHA}.tar.gz" @@ -971,7 +980,6 @@ jobs: fi rm -f "${LIBRARY}-${GITHUB_SHA}.tar.gz" cd .. - git clone -b "$BOOST_BRANCH" --depth 1 "https://github.com/boostorg/boost.git" "boost-root" cd boost-root mkdir -p libs @@ -984,7 +992,6 @@ jobs: python3 tools/boostdep/depinst/depinst.py "${DEPINST_ARGS[@]}" ./bootstrap.sh ./b2 headers - if [ -n "${{matrix.compiler}}" -o -n "$GCC_TOOLCHAIN_ROOT" ] then echo -n "using ${{matrix.toolset}} : : ${{matrix.compiler}}" > ~/user-config.jam @@ -994,63 +1001,101 @@ jobs: fi echo " ;" >> ~/user-config.jam fi - # Run tests - ${{matrix.toolset}} --version - B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}" "cxxstd=${{matrix.cxxstd}}" "debug-symbols=off") - - # Build variant + B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}" "debug-symbols=off") + #Build variant if [ -n "${{matrix.build_variant}}" ] then B2_ARGS+=("variant=${{matrix.build_variant}}") else B2_ARGS+=("variant=$DEFAULT_BUILD_VARIANT") fi - - # Threading + #Threading if [ -n "${{matrix.threading}}" ] then B2_ARGS+=("threading=${{matrix.threading}}") fi - - # UBSAN options + #UBSAN options if [ -n "${{matrix.ubsan}}" ] then export UBSAN_OPTIONS="verbosity=1:print_stacktrace=1" B2_ARGS+=("undefined-sanitizer=norecover" "define=UBSAN=1") fi - - # ASAN options + #ASAN options if [ -n "${{matrix.asan}}" ] then export ASAN_OPTIONS="verbosity=1:print_stacktrace=1" B2_ARGS+=("address-sanitizer=norecover" "define=ASAN=1") fi - - # Common UBSAN / ASAN options + #Common UBSAN / ASAN options if [ -n "${{matrix.asan}}" ] || [ -n "${{matrix.ubsan}}" ] then B2_ARGS+=("debug-symbols=on" "visibility=global") fi - - # cxxflags + #cxxflags if [ -n "${{matrix.cxxflags}}" ] then B2_ARGS+=("cxxflags=${{matrix.cxxflags}}") fi - - # address-model + #address-model if [ -n "${{matrix.address-model}}" ] then B2_ARGS+=("address-model=${{matrix.address-model}}") fi - - # link-flags + #link-flags if [ -n "${{matrix.linkflags}}" ] then B2_ARGS+=("linkflags=${{matrix.linkflags}}") fi + #cxxstd + if [ -n "${{matrix.cxxstd}}" ] + then + B2_ARGS+=("cxxstd=${{matrix.cxxstd}}") + fi B2_ARGS+=("libs/$LIBRARY/test") ./b2 "${B2_ARGS[@]}" + B2_ARGS+=("libs/$LIBRARY/test") + ./b2 "${B2_ARGS[@]}" + + + docs: + defaults: + run: + shell: bash + + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + container: cppalliance/boost_superproject_build:24.04-v4 + + timeout-minutes: 240 + runs-on: ${{matrix.os}} + container: ${{matrix.container}} + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 3 + + - name: Git safe.directory + run: | + git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" + + - uses: dorny/paths-filter@v3 + id: changes + with: + filters: | + src: + - 'doc/**' + + - if: steps.changes.outputs.src == 'true' + name: Build docs + run: | + set -xe + curl --retry-all-errors --connect-timeout 15 -sSL --retry 5 -o linuxdocs.sh https://raw.githubusercontent.com/boostorg/release-tools/refs/heads/master/build_docs/linuxdocs.sh + chmod 755 linuxdocs.sh + ./linuxdocs.sh --skip-packages