senmu / codecov-action

GitHub Action that uploads coverage to Codecov :open_umbrella:

Home Page:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Codecov GitHub Action

GitHub Marketplace

Easily upload coverage reports to Codecov from GitHub Actions

The latest release of this Action adds support for tokenless uploads from GitHub Actions!


To integrate Codecov with your Actions pipeline, specify the name of this repository with a tag number (@v1 is recommended) as a step within your workflow.yml file.

If you have a private repository, this Action also requires you to provide an upload token from (tip: in order to avoid exposing your token, store it as a secret). Optionally, you can choose to include up to four additional inputs to customize the upload context. For public repositories, no token is needed

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

- uses: actions/checkout@master
- uses: codecov/codecov-action@v1
    token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
    file: ./coverage.xml # optional
    flags: unittests # optional
    name: codecov-umbrella # 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 Keep in mind that secrets are not available to forks of repositories.


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

Update: We've removed the yml parameter with the latest release of this action. Please put your custom codecov yaml file at the root of the repo because other locations will no longer be supported in the future.

Input Description Usage
token Used to authorize coverage report uploads Required for private repos
file Path to the coverage report(s) Optional
flags Flag the upload to group coverage metrics (unittests, uitests, etc.). Multiple flags are separated by a comma (ui,chrome) Optional
env_vars Environment variables to tag the upload with. Multiple env variables can be separated with commas (e.g. OS,PYTHON) Optional
name Custom defined name for the upload 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]
    runs-on: ${{ matrix.os }}
        os: [ubuntu-latest, macos-latest, windows-latest]
      OS: ${{ matrix.os }}
      PYTHON: '3.7'
    - uses: actions/checkout@master
    - name: Setup Python
      uses: actions/setup-python@master
        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
        token: ${{ secrets.CODECOV_TOKEN }}
        file: ./coverage.xml
        flags: unittests
        env_vars: OS,PYTHON
        name: codecov-umbrella
        fail_ci_if_error: true


Contributions are welcome! Check out the Contribution Guide.


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


GitHub Action that uploads coverage to Codecov :open_umbrella:

License:MIT License


Language:JavaScript 100.0%