yshrsmz/Kover Report Action
A generalized GitHub Action for generating and reporting code coverage from Kover XML reports with multi-module support
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| discovery-command | Command to discover modules (e.g., "./gradlew -q projects"). If not provided, uses coverage-files glob pattern. | no | — |
| coverage-files | Glob pattern for coverage files (used when discovery-command is not provided) | no | **/build/reports/kover/report.xml |
| module-path-template | Path template for module coverage files (use {module} placeholder). Only used with discovery-command. | no | {module}/build/reports/kover/report.xml |
| ignore-modules | Comma-separated list of modules to ignore (e.g., ":core,:build-logic") | no | "" |
| thresholds | JSON object with module type/name thresholds (e.g., {"core": 80, ":core:testing": 0, "default": 60}) | no | {"default": 60} |
| min-coverage | Global minimum coverage percentage required (0-100). Fails action if overall coverage is below this value. | no | 0 |
| github-token | GitHub token for PR comments (typically secrets.GITHUB_TOKEN | no | — |
| title | Title for the coverage report | no | Code Coverage Report |
| enable-pr-comment | Whether to post coverage report as PR comment | no | true |
| enable-history | Enable coverage history tracking and trend indicators | no | false |
| history-retention | Number of history entries to keep (used when enable-history is true) | no | 50 |
| baseline-branch | Branch to use as baseline for trend comparison (e.g., "main", "develop") | no | main |
| debug | Enable debug logging | no | false |
Outputs
| name | description |
|---|---|
| coverage-percentage | Overall coverage percentage (weighted by module size) |
| instructions-covered | Total instructions covered across all modules |
| instructions-total | Total instructions across all modules |
| modules-coverage-json | JSON object with per-module coverage (e.g., {":core:common": 85.5, ":data": 75.2}) |
| modules-below-threshold | Comma-separated list of modules below threshold |