This is the only documented way to get coverage badges with GitHub Actions. It took a few months of research, trial, and error; but eventually I go...
For further actions, you may consider blocking this person and/or reporting abuse
I may be missing something here, but since this comes down to creating and stashing a .json file that can be accessed in the context of a viewer on the readme.md, couldn't a repo be used just as well (with a token generated having appropriate perms to commit changes to the repo/branch that will be used in the badge to retrieve that .json file?
That's another way, abusing Gist just has fewer steps. And lower risk (can't accidentally give permissions to the wrong repo, just to your gists).
You can get PR number easily:
You can update the pull request template after the coverage badge has been created with an additional step in your workflow:
Needed to make a few changes for Yarn (no need to add
--
, have to trim 3 lines on the tail)Made a tiny version to renew the gist file only on push to main branch (when you need to display only in Readme)
Instead of parsing
text-summary
output, you can use ajson-summary
reporter and then get values that you need withjq
tool, like so:You can see it in action at my repository.
There are more easiest way like this action Jest Coverage Comment
It works in PR/Push, can extract the coverage, and there are also example of how to update the Readme with
coverage
.@mishakav @thejaredwilcurt consider this action, no secrets config at all.
It's simple and fits simple projects,
with a continuously updated badge output to gh-pages.
github.com/we-cli/coverage-badge-a...
Great post. finally, something without any paid third-party usages.
Great article, I was able to implement this with a bit of tinkering. It might be good to note that the
your-repo/.github/workflows/node.js.yml
file needs to be configured with the gistID and filename (repo name):Since one or two weeks Shield.io display "domain is blocked" when using this technique. Am I the only one getting this error?
Just tested with
https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/TheJaredWilcurt/9c5d16fe3fa8f8ef414fe8b0eff17f7f/raw/red-perfume__pull_31.json
and it is working fine for me.