Skip to content

Generates TLS certificates dynamically in CI #576

Generates TLS certificates dynamically in CI

Generates TLS certificates dynamically in CI #576

Workflow file for this run

#
# Copyright (c) 2019-2025 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
steps:
- name: Fetch code
uses: actions/checkout@v4
- name: Start containers
uses: hoverkraft-tech/compose-action@v2.5.0
with:
compose-file: ./tools/ci/docker-compose-coverage.yml
- name: Build code
run: |
docker exec builder python /boost-mysql/tools/ci/main.py \
--source-dir=/boost-mysql \
b2 \
--server-host=localhost \
--toolset=gcc \
--cxxstd=20 \
--variant=debug \
--disable-local-sockets=off,on \
--coverage=1
- name: Generate coverage reports
shell: bash
run: |
docker exec builder lcov \
--rc branch_coverage=0 \
--rc geninfo_unexecuted_blocks=1 \
--ignore-errors mismatch \
--gcov-tool gcov-14 \
--directory ~/boost-root/bin.v2 \
--capture \
--output-file all.info
docker exec builder lcov \
--rc branch_coverage=0 \
--output-file coverage.info \
--extract all.info '*/boost/mysql*'
docker exec builder sed "s|^SF:$HOME/boost-root/|SF:include/|g" coverage.info > /boost-mysql/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