Action that converts a Cobertura XML report into a markdown report.
Composite
Inisghts Engineering
token
:
Description: Github token to use to publish the check.
Required: false
Default: ${{ github.token }}
path
:
Description: Path to the Cobertura coverage XML report.
Required: false
Default: coverage.xml
threshold
:
Description: The minimum allowed coverage percentage, as a real number.
Required: false
Default: 0
fail
:
Description: Fail the action when the minimum coverage was not met.
Required: false
Default: True
publish
:
Description: Publish the coverage report as an issue comment.
Required: false
Default: False
diff
:
Description: Create a diff of the coverage report.
Required: false
Default: False
diff-branch
:
Description: Branch to diff against.
Required: false
Default: main
storage-subdirectory
:
Description: Subdirectory in the diff-storage branch where the XML reports will be stored.
Required: false
Default: .
diff-storage
:
Description: Branch where coverage reports are stored for diff purposes.
Required: false
Default: _xml_coverage_reports
coverage-summary-title
:
Description: Title for the code coverage summary in the Pull Request comment.
Required: false
Default: Code Coverage Summary
coverage-reduction-failure
:
Description: Fail the action if code coverage decreased compared to the diff-branch
is decreased.
Required: false
Default: False
new-uncovered-statements-failure
:
Description: Fail the action if any new uncovered statements are introduced compared to the diff-branch
.
Required: false
Default: False
pycobertura-exception-failure
:
Description: Fail the action in case of a Pycobertura
exception.
Required: false
Default: True
togglable-report
:
Description: Make the code coverage report togglable.
Required: false
Default: False
exclude-detailed-coverage
:
Description: Whether a detailed coverage report should be excluded from the PR comment. The detailed coverage report contains the following information per file: number of code statements, number of statements not covered by any test, coverage percentage, and line numbers not covered by any test.
Required: false
Default: False
summary
:
Description: A summary of coverage report
This tool makes use of the PyCobertura CLI tool to produce the summary outputs. The action also supports diff
s against a given branch and makes use of a remote branch to store reports, which can be specified via this action.
Example usage:
---
name: Code Coverage
on:
# NOTE: Both, the 'pull_request' and the 'push'
# events are REQUIRED to take full advantage
# of the features of this action.
pull_request:
branches:
- main
push:
branches:
- main
jobs:
coverage:
name: Calculate code coverage
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Your logic to generate the Cobertura XML goes here
run: echo "Your logic to generate the Cobertura XML goes here"
- name: Produce the coverage report
uses: insightsengineering/coverage-action@v2
with:
# Path to the Cobertura XML report.
path: ./cobertura.xml
# Minimum total coverage, if you want to the
# workflow to enforce it as a standard.
# This has no effect if the `fail` arg is set to `false`.
threshold: 80.123
# Fail the workflow if the minimum code coverage
# reuqirements are not satisfied.
fail: true
# Publish the rendered output as a PR comment
publish: true
# Create a coverage diff report.
diff: true
# Branch to diff against.
# Compare the current coverage to the coverage
# determined on this branch.
diff-branch: main
# This is where the coverage reports for the
# `diff-branch` are stored.
# Branch is created if it doesn't already exist'.
diff-storage: _xml_coverage_reports
# A custom title that can be added to the code
# coverage summary in the PR comment.
coverage-summary-title: "Code Coverage Summary"
An example of the output of the action can be seen below: