Skip to content

Improved discussion and examples #377

Improved discussion and examples

Improved discussion and examples #377

Workflow file for this run

#
# 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