A common practice in the modern developer's workflow is to test multiple build systems, split up tests in different containers, and group tests based on test focus (unittests vs integration tests). Codecov flawlessly supports all these setups. Therefore, no setup is required.
Codecov supports multiple languages in the same repository. You may upload reports for one or more languages, and Codecov will merge the reports automatically while maintaining the original upload context.
Codecov does not override report data for multiple uploads. We always merge the data. Simply upload all three reports at once, or separately.
Codecov will delay notifications such as Slack, Hipchat, and Pull Request Comments until all reports are uploaded and merged. This prevents posting invalid coverage metrics when the first report is uploaded.
A good example of this is pyca/cryptography, with over 20 containers uploading coverage reports to Codecov. Each container runs tests resulting in
~90% coverage. However, when Codecov merges all reports together the result is
100% coverage. Codecov will submit the notifications once it determines that CI is complete and all reports are merged. The notifications expresses 💯, a number they work hard for. Nice job pyca team! 👍 🎉
Codecov will check, every minute, the status of each CI provider. If the status of any provider is
pending, we will delay the notifications. If the status of any provider is
failure, Codecov will cancel the notification entirely. If the status of all providers is
success, the notifications will be submitted.
- If the CI status is "pending", please wait until the CI is complete.
- If the CI status is "error" or "failed", no notifications will be submitted.
- If CI is successful:
- is your CI provider in the list of [[Supported CI Providers]].
- review [[Commit Build Logs]].
- check if the reports failed to upload to Codecov.
- make sure your yaml is valid.
If you believe you are receiving a notification too soon, it may be in error. One way to prevent premature notifications, is preventing a notification until
N builds, YAML configuration for here.
You can toggle on and off
Require CI to Pass setting in the YAML. More details here
You can group reports by applying a Flag, which comes with amazing UI additions and custom commit statuses. Learn more: