Upload reports to Codecov for almost every supported language.
# All CI
bash <(curl -s https://codecov.io/bash)
# Jenkins
curl -s https://codecov.io/bash | bash
# No bash method
curl -s https://codecov.io/bash > .codecov
chmod +x .codecov
./.codecov
Python, C#/.net, Java, Node/Javascript/Coffee, C/C++, D, Go, Groovy, Kotlin, PHP, R, Scala, Xtern, Xcode, Lua and more...
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
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"
Company | Supported | Token Required |
---|---|---|
Travis CI | Yes | Private only |
CircleCI | Yes | Private only |
Codeship | Yes | Public & Private |
Jenkins | Yes | Public & Private |
Semaphore | Yes | Public & Private |
drone.io | Yes | Public & Private |
AppVeyor | No. See Codecov Python. | Private only |
Wercker | Yes | Public & Private |
Magnum CI | Yes | Public & Private |
Shippable | Yes | Public & Private |
Gitlab CI | Yes | Public & Private |
snap ci | Yes | Public & Private |
git | Yes (as a fallback) | Public & Private |
Buildbot | coming soon buildbot/buildbot#1671 |
|
Bamboo | coming soon |
|
Solano Labs | coming soon |
|
Bitrise | coming soon |
Using Travis CI? Uploader is compatible with
sudo: false
which can speed up your builds. 👍
The branch environment variable is not presented and needs to be included manually :frown:
bash <(curl -s https://codecov.io/bash) -B ${env.BRANCH_NAME}
Failure to do this results in every commit being on the master branch
Bash does not respect multiple spaces with arguments
# FAILS because of double space here:
# v
- bash <(curl -s https://codecov.io/bash) -X coveragepy -B master
+ bash <(curl -s https://codecov.io/bash) -X coveragepy -B master