From 50c847d1139f775a815fe3425cd8b302fbdd414d Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 11 Sep 2026 10:51:06 +0200 Subject: [PATCH 1/3] Update GHA actions and Node version --- .github/workflows/ci.yml | 25 ++++++++++++++++++------- .github/workflows/codecov.yml | 11 ++++++----- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1701c3cfa..083c6e720 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -258,8 +258,10 @@ jobs: container: image: ${{matrix.container}} volumes: - - /node20217:/node20217:rw,rshared - - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }} + - /node20_217:/node20_217:rw,rshared + - /node24_217:/node24_217:rw,rshared + - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20_217:/__e/node20:ro,rshared' || ' ' }} + - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node24_217:/__e/node24:ro,rshared' || ' ' }} steps: - name: Setup environment @@ -284,12 +286,21 @@ jobs: apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y sudo software-properties-common tzdata wget curl apt-transport-https ca-certificates make build-essential g++ $PYTHON_PACKAGE python3 perl git cmake fi if [[ "${{matrix.container}}" == "ubuntu:1"* ]]; then - # Node 20 doesn't work with Ubuntu 16/18 glibc: https://github.com/actions/checkout/issues/1590 - curl -sL https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 + echo "::group::Update node" + # Install a node version that works with the glibc 2.17 of Ubuntu 16/18: https://github.com/actions/checkout/issues/1590 + curl -sL https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20_217 + # Node 24 triggers a bug in GLIBC 2.17 inside libnss_files.so.2 (around _nss_files_gethostbyname3_r) leading to a SIGSEGV + # Observed in actions/cache + # Use Node 20 instead as long as that works + mkdir -p /node24_217 + cp -r /node20_217/* /node24_217/ + echo -n "Node 20: " && /node20_217/bin/node --version + echo -n "Node 24: " && /node24_217/bin/node --version + echo "::endgroup::" fi fi git config --global pack.threads 0 - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Install packages if: matrix.install @@ -481,7 +492,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v7 - name: Setup Boost shell: cmd @@ -523,7 +534,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v7 - name: Install packages if: matrix.install diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 54cdbce62..e55797672 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -78,13 +78,13 @@ jobs: fi git config --global pack.threads 0 - - uses: actions/checkout@v3 + - uses: actions/checkout@v7 with: # For coverage builds fetch the whole history, else only 1 commit using a 'fake ternary' fetch-depth: ${{ matrix.coverage && '0' || '1' }} - name: Cache ccache - uses: actions/cache@v3 + uses: actions/cache@v6 if: env.B2_USE_CCACHE with: path: ~/.ccache @@ -92,7 +92,7 @@ jobs: restore-keys: ${{matrix.os}}-${{matrix.container}}-${{matrix.compiler}}- - name: Fetch Boost.CI - uses: actions/checkout@v3 + uses: actions/checkout@v7 with: repository: boostorg/boost-ci ref: master @@ -190,10 +190,11 @@ jobs: - name: Upload coverage if: matrix.coverage - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v7 with: + fail_ci_if_error: true disable_search: true - file: coverage.info + files: coverage.info name: Github Actions token: ${{secrets.CODECOV_TOKEN}} verbose: true From 4b59610af995fbc3ef3eff4e35db84a4735f1bd7 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 8 Sep 2026 15:33:17 +0200 Subject: [PATCH 2/3] Supress remaining unused variable warnings in tests --- test/multiprecision_int_test.cpp | 2 ++ test/test_random_device.cpp | 3 +++ 2 files changed, 5 insertions(+) diff --git a/test/multiprecision_int_test.cpp b/test/multiprecision_int_test.cpp index a861cca39..4842c5559 100644 --- a/test/multiprecision_int_test.cpp +++ b/test/multiprecision_int_test.cpp @@ -208,6 +208,7 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(discrete_distributions, distribution_type, other_d for(unsigned i = 0; i < 200; ++i) { result_type r = d(gen); + boost::ignore_unused(r); } std::stringstream ss; @@ -223,6 +224,7 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(discrete_distributions, distribution_type, other_d for(unsigned i = 0; i < 200; ++i) { result_type r = d(big_random); + boost::ignore_unused(r); } } diff --git a/test/test_random_device.cpp b/test/test_random_device.cpp index 1ae01dd06..cd04d4118 100644 --- a/test/test_random_device.cpp +++ b/test/test_random_device.cpp @@ -19,6 +19,9 @@ constexpr boost::random_device::result_type const_max = (boost::random_device::m #endif int test_main(int, char**) { + boost::ignore_unused(const_min); + boost::ignore_unused(const_max); + boost::random_device rng; double entropy = rng.entropy(); BOOST_CHECK_GE(entropy, 0); From 5f8f7b8469339289817da41aedcb82ec1ee8806b Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Sun, 6 Sep 2026 21:40:58 +0200 Subject: [PATCH 3/3] Avoid deprecation warning from Boost.Bind --- test/statistic_tests.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/statistic_tests.hpp b/test/statistic_tests.hpp index c1feb5559..ce25bb0f9 100644 --- a/test/statistic_tests.hpp +++ b/test/statistic_tests.hpp @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include @@ -491,6 +491,7 @@ inline double cdf(const kolmogorov_smirnov_probability& dist, double val) inline double quantile(const kolmogorov_smirnov_probability& dist, double val) { + using namespace boost::placeholders; return invert_monotone_inc(boost::bind(&cdf, dist, _1), val, 0.0, 1000.0); }