name: Slow tests (b2) on: pull_request: branches: - master - develop paths-ignore: - '.github/workflows/cov.yml' - '.github/workflows/doc.yml' - '.github/workflows/fast.yml' - 'doc/**' - 'tools/**' - '*.md' concurrency: group: ${{ github.workflow }}-${{ github.head_ref }} cancel-in-progress: true env: B2_OPTS: -q -j2 warnings-as-errors=on UBSAN_OPTIONS: print_stacktrace=1 LSAN_OPTIONS: verbosity=1:log_threads=1 ASAN_OPTIONS: detect_leaks=1:detect_stack_use_after_return=1 jobs: appleclang: runs-on: macos-latest steps: - uses: actions/checkout@v4 - name: Fetch Boost superproject run: | cd .. git clone -b $GITHUB_BASE_REF --depth 5 https://github.com/boostorg/boost.git cd boost mv -f $GITHUB_WORKSPACE/* libs/histogram git submodule update --init --depth 5 tools/build tools/boostdep python tools/boostdep/depinst/depinst.py --git_args "--depth 5 --jobs 3" histogram mv -f * $GITHUB_WORKSPACE - name: Prepare b2 run: ./bootstrap.sh - name: Test cxxstd=14 exception-handling=off rtti=off run: | cd libs/histogram ../../b2 $B2_OPTS cxxstd=14 exception-handling=off rtti=off test//minimal - name: Test cxxstd=17 run: | cd libs/histogram ../../b2 $B2_OPTS cxxstd=17 test//all gcc: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Fetch Boost superproject run: | cd .. git clone -b $GITHUB_BASE_REF --depth 5 https://github.com/boostorg/boost.git cd boost mv -f $GITHUB_WORKSPACE/* libs/histogram git submodule update --init --depth 5 tools/build tools/boostdep git submodule update --init --depth 5 libs/format python tools/boostdep/depinst/depinst.py --git_args "--depth 5 --jobs 3" histogram mv -f * $GITHUB_WORKSPACE - name: Prepare b2 run: ./bootstrap.sh - name: Test cxxstd=20 optimization=speed -funsafe-math-optimizations run: | cd libs/histogram ../../b2 $B2_OPTS toolset=gcc cxxstd=20 optimization=speed cxxflags="-funsafe-math-optimizations" test//all examples clang: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Fetch Boost superproject run: | cd .. git clone -b $GITHUB_BASE_REF --depth 5 https://github.com/boostorg/boost.git cd boost mv -f $GITHUB_WORKSPACE/* libs/histogram git submodule update --init --depth 5 tools/build tools/boostdep python tools/boostdep/depinst/depinst.py --git_args "--depth 5 --jobs 3" histogram mv -f * $GITHUB_WORKSPACE - name: Prepare b2 run: ./bootstrap.sh - name: Test cxxstd=17 ubsan asan run: | cd libs/histogram # workaround: -Wdeprecated-literal-operator only works with clang and not with appleclang # Apparently, build.jam cannot make the distinction, so we have to specify it here ../../b2 $B2_OPTS toolset=clang cxxstd=17 cxxflags="-Wdeprecated-literal-operator" variant=histogram_ubasan test//all