added readme

This commit is contained in:
irongut
2021-05-10 00:16:36 +01:00
committed by GitHub
parent dac83f8fb3
commit e69b3b4e76
+97
View File
@@ -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'
```