Files
codecov-action/README.md
2019-11-19 03:36:06 -08:00

3.0 KiB

Codecov GitHub Action

GitHub Marketplace

Easily upload coverage reports to Codecov from GitHub Actions

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 four 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

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.

Arguments

Codecov's Action currently supports five inputs from the user: token, file, flags,name, and yml. 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 upload under a certain group Optional
name Custom defined name for the upload Optional
yml Path to codecov.yml config file Optional

Example workflow.yml with Codecov Action

Note

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

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:
        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 

Contributing

Contributions are welcome! Check out the Contribution Guide.

License

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