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

GitHub Action

JaCoCo Report

v1.4

JaCoCo Report

percent

JaCoCo Report

Publishes the JaCoCo report as a comment in the Pull Request

Installation

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

              

- name: JaCoCo Report

uses: Madrapps/[email protected]

Learn more about this action in Madrapps/jacoco-report

Choose a version

jacoco-report

Tests

A Github action that publishes the JaCoCo report as a comment in the Pull Request with customizable pass percentage for modified files and for the entire project.

Usage

Pre-requisites

Create a workflow .yml file in your repositories .github/workflows directory. An example workflow is available below. For more information, reference the GitHub Help Documentation for Creating a workflow file.

Inputs

  • paths - [required] Comma separated paths of the generated jacoco xml files.
  • token - [required] Github personal token to add commits to Pull Request
  • min-coverage-overall - [optional] The minimum code coverage that is required to pass for overall project
  • min-coverage-changed-files - [optional] The minimum code coverage that is required to pass for changed files
  • update-comment - [optional] Updates the coverage report comment instead of creating new ones. Requires title to work properly.
  • title - [optional] Title for the Pull Request comment

Outputs

  • coverage-overall - The overall coverage of the project
  • coverage-changed-files - The total coverage of all changed files

Example Workflow

name: Measure coverage

on:
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: 1.8
      - name: Run Coverage
        run: |
          chmod +x gradlew
          ./gradlew testCoverage

      - name: Add coverage to PR
        id: jacoco
        uses: madrapps/[email protected]
        with:
          paths: ${{ github.workspace }}/build/reports/jacoco/testCoverage/testCoverage.xml
          token: ${{ secrets.GITHUB_TOKEN }}
          min-coverage-overall: 40
          min-coverage-changed-files: 60

output screenshot

Example Project

For a working project refer to jacoco-playgound. Check out the PR's in the project to get an idea on how the report is shown on a pull request comment. For multi module gradle project, refer jacoco-android-playground

License

The scripts and documentation in this project are released under the MIT License