Boost 1.87: new discussion and examples (part 1) #373
This file contains 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
# | |
# Copyright (c) 2019-2024 Ruben Perez Hidalgo (rubenperez038 at gmail dot com) | |
# | |
# Distributed under the Boost Software License, Version 1.0. (See accompanying | |
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
# | |
name: coverage | |
on: | |
push: | |
branches: [develop, master] | |
tags: ['*'] | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
coverage: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/anarthal-containers/build-gcc13:61b5b771ffefa8c04c43ddc9e023152461a8295f | |
volumes: | |
- /var/run/mysqld:/var/run/mysqld | |
services: | |
mysql: | |
image: ghcr.io/anarthal-containers/ci-db:mysql-8.4.1-61b5b771ffefa8c04c43ddc9e023152461a8295f | |
ports: | |
- 3306:3306 | |
volumes: | |
- /var/run/mysqld:/var/run/mysqld | |
steps: | |
- name: Install coverage packages | |
run: | | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends lcov | |
- name: Fetch code | |
uses: actions/checkout@v4 | |
- name: Build code | |
run: | | |
python tools/ci/main.py \ | |
--source-dir=$(pwd) \ | |
b2 \ | |
--server-host=mysql \ | |
--toolset=gcc \ | |
--cxxstd=20 \ | |
--variant=debug \ | |
--disable-local-sockets=off,on \ | |
--coverage=1 | |
- name: Generate coverage reports | |
shell: bash | |
run: | | |
cd ~/boost-root/bin.v2 | |
lcov --rc lcov_branch_coverage=0 --gcov-tool gcov-13 --directory . --capture --output-file all.info | |
lcov --rc lcov_branch_coverage=0 --output-file coverage.info --extract all.info '*/boost/mysql*' | |
sed "s|^SF:$HOME/boost-root/|SF:include/|g" coverage.info > $GITHUB_WORKSPACE/coverage.info | |
- name: Upload coverage reports | |
uses: codecov/codecov-action@v4 | |
with: | |
verbose: true | |
fail_ci_if_error: true | |
token: ${{ secrets.CODECOV_TOKEN }} | |
plugins: noop # Don't run gcov again, codecov doesn't know about the filtering we perform | |
file: coverage.info | |
disable_search: true # Don't upload unwanted files | |
disable_file_fixes: true # Default fixes make reports unusable | |