A GitHub Action to add a coverage report and badge to your Go repo.
Apply it to your repo by adding this step to one of your workflows:
- name: Update coverage report
uses: crowdriff/go-coverage-gha@v0
Your repo needs to have a Wiki for the action to work, and workflows need to have read and write permissions to the repo.
Complete example:
- name: Test
run: go test -v ./...
- name: Update coverage report
uses: crowdriff/go-coverage-gha@v0
if: |
matrix.os == 'ubuntu-latest' &&
github.event_name == 'push'
continue-on-error: true
The action generates an HTML report and SVG badge, and saves them as “hidden” files in your Wiki.
To add a coverage badge to your README.md
, use this Markdown snippet:
[![Go Coverage](https://github.com/USER/REPO/wiki/coverage.svg)](https://raw.githack.com/wiki/USER/REPO/coverage.html)
Clicking on the badge opens the coverage report.
The action will also log to the Wiki the unix timestamp and coverage of every run,
The script can also be run manually, or as a pre-commit hook.
- @ncruces for the original action from ncruces/go-coverage-report
- @vieux for gocover.io which I've used for years before creating this
- @Prounckk for the blog that prompted this solution
- raw.githack.com for proxying the HTML report
- shields.io for SVG badge generation
- quickchart.io for SVG charts