Create coverage badges from coverage reports (no 3rd parties servers).
MIT License
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.
$ npm i coverage-badges-cli
{
"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.
source
- The path of the target file "coverage-summary.json".output
- Output image path.label
- The left label of the badge, usually static (default coverage
).style
- Badges style: flat
, classic
(default classic
).type
lines
, statements
, functions
, branches
(default statements
)jsonPath
- Path to the coverage percentage number to be used in the badge (default total.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
svg svg image string: <svg xmlns....
.
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
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.
--icon Path to icon file
--label The left label of the badge, usually static (default `coverage`).
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 --type lines
npm coverage-badges-cli --icon my-icon.svg
$ npm i
$ npm run build
$ npm run watch
As always, thanks to our amazing contributors!
Made with contributors.
MIT © Kenny Wong