Skip to content

GitHub Action that uploads coverage to Codecov ☂️

License

Notifications You must be signed in to change notification settings

NetizenAbel/codecov-action

 
 

Repository files navigation

Codecov GitHub Action

GitHub Marketplace

Easily upload coverage reports to Codecov from GitHub Actions

The latest release of this Action adds support for macOS and Windows builds!

Usage

To integrate Codecov with your Actions pipeline, specify the name of this repository with a tag number as a step within your workflow.yml file. This Action also requires you to provide an upload token from codecov.io (tip: in order to avoid exposing your token, store it as a secret). Optionally, you can choose to include up to five additional inputs to customize the upload context.

Inside your .github/workflows/workflow.yml file:

steps:
- uses: actions/checkout@master
- uses: codecov/codecov-action@v1
  with:
    token: ${{ secrets.CODECOV_TOKEN }} #required
    file: ./coverage.xml #optional
    flags: unittests #optional
    name: codecov-umbrella #optional
    yml: ./codecov.yml #optional
    fail_ci_if_error: true #optional (default = false)

Note: This assumes that you've set your Codecov token inside Settings > Secrets as CODECOV_TOKEN. If not, you can get an upload token for your specific repo on codecov.io. Keep in mind that secrets are not available to forks of repositories.

Arguments

Codecov's Action currently supports five inputs from the user: token, file, flags,name, yml, and fail_ci_if_error. These inputs, along with their descriptions and usage contexts, are listed in the table below:

Input Description Usage
token Used to authorize coverage report uploads Required
file Path to the coverage report(s) Optional
flags Flag the upload to group coverage metrics (unittests, uitests, etc.) Optional
name Custom defined name for the upload Optional
yml Path to codecov.yml config file Optional
fail_ci_if_error Specify if CI pipeline should fail when Codecov runs into errors during upload. Defaults to false. Optional

Example workflow.yml with Codecov Action

name: Example workflow for Codecov
on: [push]
jobs:
  run:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix: 
        os: [ubuntu-latest, macos-latest, windows-latest]
    steps:
    - uses: actions/checkout@master
    - name: Setup Python  
      uses: actions/setup-python@master
      with:
        python-version: 3.7
    - name: Generate coverage report
      run: |
        pip install pytest
        pip install pytest-cov
        pytest --cov=./ --cov-report=xml
    - name: Upload coverage to Codecov  
      uses: codecov/codecov-action@v1
      with:
        token: ${{ secrets.CODECOV_TOKEN }}
        file: ./coverage.xml
        flags: unittests
        name: codecov-umbrella
        yml: ./codecov.yml 
        fail_ci_if_error: true

Contributing

Contributions are welcome! Check out the Contribution Guide.

License

The code in this project is released under the MIT License.

About

GitHub Action that uploads coverage to Codecov ☂️

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%