Skip to content
umbrella

GitHub Action

Record LCOV

v1.0.0 Latest version

Record LCOV

umbrella

Record LCOV

Record the code coverage from LCOV files

Installation

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

              

- name: Record LCOV

uses: dethereum/[email protected]

Learn more about this action in dethereum/github-actions-report-lcov

Choose a version

GitHub Action — Record LCOV

This GitHub Action (written in JavaScript) allows you to leverage GitHub Actions to report the code coverage from LCOV files. This action includes:

  • Generating an HTML report as an artifact
  • Commenting on a pull request (if the workflow was triggered by this event)
  • Failing if a minimum coverage is not met

Usage

Pre-requisites

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

Inputs

For more information on these inputs, see the Workflow syntax for GitHub Actions

  • coverage-files: The coverage files to scan. For example, coverage/lcov.*.info
  • artifact-name: The GitHub artifact name of the generated HTML report. For example, code-coverage-report. Note: When downloading, it will be extracted in an html directory. Optional. Default: `` (Skips uploading of artifacts)
  • minimum-coverage: The minimum coverage to pass the check. Optional. Default: 0 (always passes)
  • github-token: Set the ${{ secrets.GITHUB_TOKEN }} token to have the action comment the coverage summary in the pull request. This token is provided by Actions, you do not need to create your own token. Optional. Default: ``
  • working-directory: The working directory containing the source files referenced in the LCOV files. Optional. Default: ./

Outputs

None.

Sample comment: Screenshot

Common workflow

on: pull_request

name: Continuous Integration

jobs:
  coverage_report:
    name: Generate coverage report
    needs: testing
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    # ... Generate LCOV files or download it from a different job
    - name: Report code coverage
      uses: dethereum/[email protected]
      with:
        coverage-files: coverage/lcov.*.info
        minimum-coverage: 90
        artifact-name: code-coverage-report
        github-token: ${{ secrets.GITHUB_TOKEN }}
        working-directory: apps/my-first-app

License

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

Acknowledgements

The code is based on zgosalvez/github-actions-report-lcov and you should probably use that action