Skip to content

ci: coverage info

ci: coverage info #5

Workflow file for this run

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential lcov
- name: Configure
run: ./configure
- name: Build with coverage
run: make CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="-fprofile-arcs -ftest-coverage"
- name: Run tests
run: make test CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="-fprofile-arcs -ftest-coverage"
- name: Generate coverage report
run: |
lcov --capture --directory . --output-file coverage.info
lcov --remove coverage.info '/usr/*' '*/test.c' --output-file coverage.info --ignore-errors unused
lcov --list coverage.info
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: ./coverage.info
slug: sctg-development/termcap
token: ${{ secrets.CODECOV_TOKEN }}