mirror of
https://github.com/irongut/CodeCoverageSummary.git
synced 2026-05-18 16:00:13 +02:00
added readme
This commit is contained in:
@@ -0,0 +1,97 @@
|
|||||||
|
# Code Coverage Summary Action
|
||||||
|
|
||||||
|
A GitHub Action to analyse test code coverage in Cobertura format and output a summary.
|
||||||
|
|
||||||
|
Written for use with [Coverlet](https://github.com/coverlet-coverage/coverlet) on .Net but it should work with any tests that output coverage in Cobertura format.
|
||||||
|
|
||||||
|
## Inputs
|
||||||
|
|
||||||
|
### `filename`
|
||||||
|
|
||||||
|
**Required** Code coverage file to analyse.
|
||||||
|
|
||||||
|
Note: Coverlet creates the coverage file in a random named directory (guid) so you need to copy it to a predictable path before running this Action, see [.Net 5 Workflow Example](#net-5-workflow-example) below.
|
||||||
|
|
||||||
|
### `badge`
|
||||||
|
|
||||||
|
Include a badge in the output using [shields.io](https://shields.io/) - `true` or `false` (default).
|
||||||
|
|
||||||
|
If code coverage is less than 50% the badge will be red, if coverage is 50% - 74% it will be yellow and if coverage is 75% or over it will be green.
|
||||||
|
|
||||||
|
### `format`
|
||||||
|
|
||||||
|
Output Format - `markdown` or `text` (default).
|
||||||
|
|
||||||
|
### `output`
|
||||||
|
|
||||||
|
Output Type - `console` (default), `file` or `both`.
|
||||||
|
|
||||||
|
`console` will output the coverage summary to the GitHub Action log.
|
||||||
|
|
||||||
|
`file` will output the coverage summary to `code-coverage-results.txt` or `code-coverage-results.md` in the workflow's working directory.
|
||||||
|
|
||||||
|
## Outputs
|
||||||
|
|
||||||
|
Code coverage summary in plain text or markdown format to the console (action log) or a file.
|
||||||
|
|
||||||
|
```
|
||||||
|
Code Coverage File: coverage/coverage.cobertura.xml
|
||||||
|
https://img.shields.io/badge/Code%20Coverage-77%25-success?style=flat
|
||||||
|
Line Rate = 77%, Lines Covered = 1107 / 1433
|
||||||
|
Branch Rate = 60%, Branches Covered = 321 / 532
|
||||||
|
Complexity = 917
|
||||||
|
Company.Example: Line Rate = 78%, Branch Rate = 60%, Complexity = 906
|
||||||
|
Company.Example.Library: Line Rate = 27%, Branch Rate = 100%, Complexity = 11
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
name: Code Coverage Summary Report
|
||||||
|
uses: irongut/CodeCoverageSummary@master
|
||||||
|
with:
|
||||||
|
filename: coverage/coverage.cobertura.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
### .Net 5 Workflow Example
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
name: CI Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: CI Build
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup .NET
|
||||||
|
uses: actions/setup-dotnet@v1
|
||||||
|
with:
|
||||||
|
dotnet-version: 5.0.x
|
||||||
|
|
||||||
|
- name: Restore Dependencies
|
||||||
|
run: dotnet restore src/Example.sln
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: dotnet build src/Example.sln --configuration Release --no-restore
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: dotnet test src/Example.sln --configuration Release --no-build --verbosity normal --collect:"XPlat Code Coverage" --results-directory ./coverage
|
||||||
|
|
||||||
|
- name: Copy Coverage To Predictable Location
|
||||||
|
run: cp coverage/**/coverage.cobertura.xml coverage/coverage.cobertura.xml
|
||||||
|
|
||||||
|
- name: Code Coverage Summary Report
|
||||||
|
uses: irongut/CodeCoverageSummary@master
|
||||||
|
with:
|
||||||
|
filename: coverage/coverage.cobertura.xml
|
||||||
|
badge: 'true'
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user