Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@godaddy-wordpress/circleci-coverage-github-reporter

Package Overview
Dependencies
Maintainers
4
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@godaddy-wordpress/circleci-coverage-github-reporter

Report Jest/Istanbul coverage statistics from CircleCI to GitHub

  • 1.0.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
41
decreased by-79.08%
Maintainers
4
Weekly downloads
 
Created
Source

circleci-coverage-github-reporter

npm version

Report Jest/Istanbul coverage statistics from CircleCI to GitHub.

Project based on coverage-github-reporter.

Setup

GitHub Auth Token

A GitHub auth token is required to post a comment on github. I recommend creating a separate "bot" GitHub account with access to your repos.

  1. Navigate to Personal access tokens on GitHub
  2. Click "Generate new token" and generate a new token (with repo access if your repo is private)
  3. Open the CircleCI project settings
  4. Navigate to Build Settings > Environment variables
  5. Add a new variable called GH_AUTH_TOKEN with the new token

For subsequent projects:

  1. Open the CircleCI project settings
  2. Navigate to Build Settings > Environment variables
  3. Click "Import Variable(s)"
  4. Select a project that you've previous added GH_AUTH_TOKEN to
  5. Click the checkbox next to GH_AUTH_TOKEN and import

CircleCI Artifact API Token

To access artifacts for private repos, a CircleCI API token is required.

  1. Open the CircleCI project settings
  2. Navigate to Permissions > API Permissions
  3. Click "Create Token"
  • Select "Build Artifacts" from scope dropdown
  • Name the token "artifacts" (or whatever you prefer)
  1. Navigate to Build Settings > Environment variables
  2. Add a new variable called CIRCLE_CI_API_TOKEN with the new token

Run Jest with Coverage reporting

Add to your package.json:

npm install --save-dev @godaddy-wordpress/circleci-coverage-github-reporter

If you're using Jest, I suggest adding a test script along these lines:

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

This will generate a coverage in coverage/

CircleCI configuration

Update your .circleci/config.yml:

general:
  artifacts:
    - "coverage/lcov-report"

jobs:
  build:
    steps:
      # … other steps (npm/yarn install, lint, etc)

      - run:
          name: Test
          command: npm run test-ci

      # Store coverage artifacts so they can be browsed and be diffed by other builds
      - store_artifacts:
          path: coverage
          destination: coverage

      - run:
          name: Post coverage comment to GitHub
          command: npx circleci-coverage-github-reporter

Customization

The circleci-coverage-github-reporter CLI has some options to customize behavior:

  Options:

    -v, --verbose [true, false]  Defaults to true
    -b, --branch [value]         Base branch to use if not PR (defaults to "master")
    -j, --coverage-json [value]  Relative path to istanbul coverage JSON (defaults to "coverage/coverage-final.json")
    -r, --coverage-root [value]  Relative path to coverage html root (for artifact links) (defaults to "coverage/lcov-report")
    -h, --help                   Output usage information
    -v, --version                Output the version number

FAQs

Package last updated on 19 Oct 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc