Skip to content

Healthcheck 4

Healthcheck 4 #8

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:
pull_request:
env:
GCOV_REPORT_DIR: /tmp/gcov-reports
jobs:
coverage:
runs-on: ubuntu-latest
container:
image: ghcr.io/anarthal-containers/build-gcc13
services:
mysql:
image: ghcr.io/anarthal-containers/mysql8:ca0db5925a497b70e7d6b303c81d56b70c06f9ef
ports:
- 3306:3306
volumes:
- "/var/run/mysqld:/var/run/mysqld"
options: --health-cmd "mysqladmin ping"
steps:
- name: Fetch code
uses: actions/checkout@v4
- name: Build code
run: |
python tools/ci/main.py \
--build-kind=b2 \
--source-dir=$(pwd) \
--toolset=gcc \
--cxxstd=20 \
--variant=debug \
--coverage=1
- name: Generate coverage reports
run: |
cd ~/boost-root
gcov-13 -r -p $(find bin.v2/ -name '*.gcda') > /dev/null
mkdir $GCOV_REPORT_DIR
cp 'boost#mysql#*.gcov' $GCOV_REPORT_DIR
- name: Upload coverage reports
uses: codecov/codecov-action@v4
with:
verbose: true
token: ${{ secrets.CODECOV_TOKEN }}
plugins: "" # Don't run gcov again, codecov doesn't know about the filtering we perform
directory: ${{ env.GCOV_REPORT_DIR }}