Awesome
coverage-badges-cli
<!--rehype:style=display: flex; height: 230px; align-items: center; justify-content: center; font-size: 38px;-->Create coverage badges from coverage reports. Using GitHub Actions and GitHub Workflow CPU time (no 3rd parties servers).
Don't worry about the coverage.io service is down.
Install
$ npm i coverage-badges-cli
Example
{
"scripts": {
"coverage": "jest --coverage"
"make-badges": "coverage-badges",
},
"jest": {
"collectCoverageFrom": [
"<rootDir>/packages/**/*.{tsx,ts}",
"!**/*.{js,d.ts}"
],
"coverageReporters": [
"lcov",
"json-summary"
],
}
}
This config creates a coverage badge in a default directory ./badges.
You can add ![Coverage](./coverage/badges.svg)
to your README.md after the badge creation.
Github Actions
Input Parameters
source
- The path of the target file "coverage-summary.json".output
- Output image path.label
- The left label of the badge, usually static (defaultcoverage
).labelColor
- <Color RGB> or <Color Name> (default:555
).color
- <Color RGB> or <Color Name> (default: '')scale
- Set badge scale (default:1
).style
- Badges style:flat
,classic
(defaultclassic
).- (No longer supported after v1.2.0) Coverage report type:type
lines
,statements
,functions
,branches
(defaultstatements
)jsonPath
- Path to the coverage percentage number to be used in the badge (defaulttotal.statements.pct
)icon
- Path to icon file
- name: Create Coverage Badges
uses: jaywcjlove/coverage-badges-cli@main
with:
style: flat
source: coverage/coverage-summary.json
output: coverage/badges.svg
jsonPath: totals.percent_covered
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
Output Parameters
svg svg image string: <svg xmlns....
.
Using the command line
name: Build & Deploy
on:
push:
branches:
- master
jobs:
build-deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14
- run: npm install
- run: npm run build
- run: npm run coverage
- run: npm i coverage-badges-cli -g
- run: coverage-badges --output coverage/badges.svg
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
if: github.ref == 'refs/heads/master'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./coverage
Command Help
Usage: coverage-badges [options] [--help|h]
Options:
--version, -v Show version number
--help, -h Displays help information.
--output, -o Output directory.
--source, -s The path of the target file "coverage-summary.json".
--style Badges style: flat, flat-square.
--type Coverage type: lines, statements, functions, branches.
--scale Set badge scale (default: 1)
--icon Path to icon file
--iconWidth Set this if icon is not square (default: 13)
--label The left label of the badge, usually static (default `coverage`).
--labelColor <Color RGB> or <Color Name> (default: '555')
--color <Color RGB> or <Color Name> (default: '')
Example:
npm coverage-badges-cli --output coverage/badges.svg
npm coverage-badges-cli --style plastic
npm coverage-badges-cli --source coverage/coverage-summary.json
npm coverage-badges-cli --labelColor ADF
Development
$ npm i
$ npm run build
$ npm run watch
See also
- Github Release Changelog Generator A GitHub Action that compares the commit differences between two branches
- Create Tags From Auto create tags from commit or package.json.
- Github Action Contributors Github action generates dynamic image URL for contributor list to display it!
- Create Coverage Badges Create coverage badges from coverage reports. (no 3rd parties servers)
- Generated Badges Create a badge using GitHub Actions and GitHub Workflow CPU time (no 3rd parties servers)
Contributors
As always, thanks to our amazing contributors!
<a href="https://github.com/jaywcjlove/coverage-badges-cli/graphs/contributors"> <img src="https://jaywcjlove.github.io/coverage-badges-cli/CONTRIBUTORS.svg" /> </a>Made with contributors.
License
MIT © Kenny Wong