Exciting news!Announcing our $4.6M Series Seed. Learn more
Socket
LoveBlogFAQ
Install
Log in

circleci-coverage-github-reporter

Package Overview
Dependencies
6
Maintainers
1
Versions
1
Issues
File Explorer

Advanced tools

circleci-coverage-github-reporter

Report Jest/Istanbul coverage statistics from CircleCI to GitHub

    1.2.0latest

Version published
Maintainers
1
Yearly downloads
6,895
decreased by-12.91%

Weekly downloads

Readme

Source

circleci-coverage-github-reporter

npm version CircleCI

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 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
Socket

Product

Subscribe to our newsletter

Get open source security insights delivered straight into your inbox. Be the first to learn about new features and product updates.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc