Socket
Socket
Sign inDemoInstall

circleci-coverage-github-reporter

Package Overview
Dependencies
32
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    circleci-coverage-github-reporter

Report Jest/Istanbul coverage statistics from CircleCI to GitHub


Version published
Weekly downloads
38
decreased by-7.32%
Maintainers
1
Install size
2.12 MB
Created
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

FAQs

Last updated on 15 Aug 2018

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc