refactor(#837): decouple allocator from QSBR, make art_allocator.hpp header-only #336
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: coverage | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - coverage-check | |
| pull_request: | |
| permissions: {} | |
| jobs: | |
| build: | |
| runs-on: ubuntu-22.04 | |
| environment: coverage | |
| env: | |
| BUILD_TYPE: ${{matrix.BUILD_TYPE}} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Debug | |
| BUILD_TYPE: Debug | |
| - name: Release | |
| BUILD_TYPE: Release | |
| steps: | |
| - uses: actions/checkout@v6 # zizmor: ignore[unpinned-uses] | |
| with: | |
| submodules: true | |
| persist-credentials: false | |
| - name: Setup dependencies | |
| run: | | |
| sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test | |
| sudo apt-get update | |
| sudo apt-get install -y libboost-dev libc6-dev-i386 g++-13 \ | |
| g++-13-multilib lcov cpanminus | |
| sudo cpanm install JSON | |
| - name: Configure CMake | |
| # Use a bash shell so we can use the same syntax for environment | |
| # variable access regardless of the host operating system | |
| shell: bash | |
| run: | | |
| export PATH="$HOME/.local/bin:$PATH" | |
| V=13 | |
| export CC=gcc-$V | |
| export CXX=g++-$V | |
| set +e | |
| cmake -B build "$GITHUB_WORKSPACE" "-DCMAKE_BUILD_TYPE=$BUILD_TYPE" \ | |
| -DSTANDALONE=ON -DMAINTAINER_MODE=ON -DCOVERAGE=ON \ | |
| "-DGCOV_PATH=/usr/bin/gcov-$V" | |
| CMAKE_EXIT_CODE=$? | |
| set -e | |
| if [ $CMAKE_EXIT_CODE -ne 0 ]; then | |
| if [ -f build/CMakeFiles/CMakeConfigureLog.yaml ]; then | |
| echo "::group::CMakeConfigureLog.yaml" | |
| cat build/CMakeFiles/CMakeConfigureLog.yaml | |
| echo "::endgroup::" | |
| fi | |
| exit $CMAKE_EXIT_CODE | |
| fi | |
| - name: Build | |
| working-directory: ${{github.workspace}}/build | |
| run: make -j3 -k | |
| - name: Gather coverage data | |
| working-directory: ${{github.workspace}}/build | |
| run: | | |
| make -j3 -k coverage | |
| - name: Upload lcov artifact | |
| uses: actions/upload-artifact@v4 # zizmor: ignore[unpinned-uses] | |
| with: | |
| name: lcov-${{matrix.BUILD_TYPE}} | |
| path: ${{github.workspace}}/build/test/coverage-*.info | |
| - name: Upload coverage data | |
| uses: codecov/codecov-action@v5 # zizmor: ignore[unpinned-uses] | |
| with: | |
| token: ${{secrets.CODECOV_TOKEN}} | |
| flags: ${{matrix.BUILD_TYPE}} | |
| fail_ci_if_error: ${{secrets.CODECOV_TOKEN != ''}} | |
| directory: ${{github.workspace}}/build |