/codecov-bash

Global coverage report uploader for Codecov

Primary LanguageShellApache License 2.0Apache-2.0

Codecov Global Uploader

Upload reports to Codecov for almost every supported language.

Deployed Version

SHA1Sum: hash file


# All CI
bash <(curl -s https://codecov.io/bash)

# Pipe to bash (Jenkins)
curl -s https://codecov.io/bash | bash -s - -t token
#                                           ^ add your extra config here

# No bash method
curl -s https://codecov.io/bash > .codecov
chmod +x .codecov
./.codecov

Languages

Codecov supports many languages, you can find a full list here: https://docs.codecov.io/docs/supported-languages

Usage

Below are most commonly used settings. View full list of commands to see the full list of commands.

# public repo on Travis CI
after_success:
  - bash <(curl -s https://codecov.io/bash)
# private repo
after_success:
  - bash <(curl -s https://codecov.io/bash) -t your-repository-upload-token
# Flag build types
after_success:
  - bash <(curl -s https://codecov.io/bash) -F unittests
# Include environment variables to store per build
after_success:
  - bash <(curl -s https://codecov.io/bash) -e TOX_ENV,CUSTOM_VAR

Prevent build failures

If Codecov fails to upload reports, you can ensure the CI build does not fail by adding a catch-all:

bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"

CI Providers

Company Supported Token Required
Travis CI Yes Build Status Private only
Azure Pipelines Yes Private only
CircleCI Yes Private only
Codeship Yes Public & Private
Jenkins Yes Public & Private
Semaphore Yes Public & Private
TeamCity. Yes Public & Private
drone.io Yes Public & Private
AppVeyor Yes Private only
Bamboo Yes Public & Private
Bitbucket Yes Public & Private
Bitrise Yes Public & Private
buddybuild Yes Public & Private
Buildkite Yes Public & Private
Heroku Yes Public & Private
Wercker Yes Public & Private
Shippable Yes Public & Private
Gitlab CI Yes Public & Private
Buildkite Yes Public & Private
GitHub Actions Yes Private only
Cirrus CI Yes Public & Private
AWS CodeBuild Yes Public & Private
git Yes (as a fallback) Public & Private

Caveats

  1. Jenkins: Unable to find reports? Try PWD=WORKSPACE bash <(curl -s https://codecov.io/bash)

Development

Once you made a change to the codecov uploader script, please also update the hash file via:

for i in 1 256 512; do shasum -a "${i}" codecov > "SHA${i}SUM"; done

and add the change to your pull request.