A Github action that publishes the Kover code coverage report as a comment in pull requests.
Create a workflow .yml
file in your repositories .github/workflows
directory. An example workflow is available below. For more information, reference the GitHub Help Documentation for Creating a workflow file.
path
- [required string[]] List of paths to the generated kover report xml filestoken
- [optional string] GitHub personal token to add commits to the pull requesttitle
- [optional string] Title for the pull request commentupdate-comment
- [optional boolean (default:false
)] Update the coverage report comment instead of creating a new one. Requirestitle
to be set.min-coverage-overall
- [optional integer] The minimum code coverage that is required to pass for overall projectmin-coverage-changed-files
- [optional integer] The minimum code coverage that is required to pass for changed filescoverage-counter-type
- [optional string (default:LINE
)] Report counter type used to calculate coverage metrics. Possible values are:INSTRUCTION
,LINE
orBRANCH
.
coverage-overall
- [integer] The overall coverage of the projectcoverage-changed-files
- [integer] The total coverage of all changed files
name: Measure coverage
on:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '21'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
- name: Generate kover coverage report
run: ./gradlew koverXmlReport
- name: Add coverage report to PR
id: kover
uses: mi-kas/kover-report@v1
with:
path: |
${{ github.workspace }}/project1/build/reports/kover/report.xml
${{ github.workspace }}/project2/build/reports/kover/report.xml
title: Code Coverage
update-comment: true
min-coverage-overall: 80
min-coverage-changed-files: 80
coverage-counter-type: LINE
GitHub restricts the maximum permissions to read-only for personal access tokens for pull requests originating from a public forked repository (read more here). This prevents the default configuration of this action from successfully posting the report as a PR comment when using it on public repositories with limited permissions for users to create branches and therefore requiring them to create pull requests from forks.
Please read the full Code of Conduct so that you can understand what we expect project participants to adhere to and what actions will and will not be tolerated.
The scripts and documentation in this project are released under the MIT License.