Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
check-square

GitHub Action

Jest badges generation action

v1.9.2

Jest badges generation action

check-square

Jest badges generation action

Action generating jest coverage badges and pushing them to the repo

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Jest badges generation action

uses: jpb06/[email protected]

Learn more about this action in jpb06/jest-badges-action

Choose a version

jest-badges-action

Open in Visual Studio Code Github workflow Quality Gate Status Maintainability Rating Security Rating Reliability Rating Coverage Total coverage Lines of Code Technical Debt Code Smells Bugs Vulnerabilities Duplicated Lines (%) Last commit

Generating coverage badges and pushing them to the repository.

        

⚡ Description

This github action generates testing coverage badges using jest and pushes them to the repo at ./badges. There is five badges generated:

Branches Functions Lines Statements Jest coverage

You can use them on a readme like so:

![Branches](./badges/coverage-branches.svg)
![Functions](./badges/coverage-functions.svg)
![Lines](./badges/coverage-lines.svg)
![Statements](./badges/coverage-statements.svg)
![Jest coverage](./badges/coverage-jest%20coverage.svg)

⚡ Requirements

You will need to add json-summary to coverage reporters in jest config:

module.exports = {
   coverageReporters: ["json-summary"];
};

You also need to run jest before calling this action in your ci workflow. See usage for an example.

⚡ Inputs

🔶 branches

Branches on which the badges should be generated, separated by commas.

Default value: master,main

🔶 coverage-summary-path

Jest coverage summary path (json-summary). Defining this may be useful if you need to run this action on a monorepo.

Default value: ./coverage/coverage-summary.json

⚡ Usage

Let's first define an npm script to run jest in package.json, specifying the coverage option to generate a coverage report:

{
  "scripts": {
    "test-ci": "jest --ci --coverage"
  }
}

Let's then define our workflow:

name: My ci things
on: [push]
jobs:
  bump:
    runs-on: ubuntu-latest
    steps:
    # Necessary to push the generated badges to the repo
    - name: Check out repository code
      uses: actions/checkout@v2
    # Necessary to generate the coverage report.
    # Make sure to add 'json-summary' to the coverageReporters in jest options
    - name: Tests
      run: yarn test-ci
    [...]
    - name: Generating coverage badges
      uses: jpb06/jest-badges-action@latest
        with:
          branches: master,preprod,staging

The badges will be generated when the action runs on the master, preprod or staging branch.

🔶 Using a custom jest coverage summary file path

In case you need to define a custom path for the coverage summary file, you can use the coverage-summary-path input like so:

    [...]
    - name: Generating coverage badges
      uses: jpb06/jest-badges-action@latest
        with:
          coverage-summary-path: ./my-module/coverage/coverage-summary.json