ci(coverage): adding mandatory 80% level of coverage for diff (#239)#288
ci(coverage): adding mandatory 80% level of coverage for diff (#239)#288guzmud wants to merge 3 commits into
Conversation
❌ 2 Tests Failed:
View the top 2 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
There was a problem hiding this comment.
Pull request overview
This PR introduces Codecov configuration and CI workflow updates to enforce a minimum coverage threshold on new/changed code, publish test results, and document the project’s quality gates for contributors.
Changes:
- Add
codecov.ymlto enforce a patch (diff) coverage target of 80%. - Update the coverage GitHub Actions workflow to generate
junit.xmland upload test results to Codecov. - Document CI quality checks and add
junit.xmlto.gitignore.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| CONTRIBUTING.md | Documents CI code-quality and coverage expectations for contributors. |
| codecov.yml | Configures Codecov status checks (project informational, patch target 80%). |
| .gitignore | Ignores generated junit.xml. |
| .github/workflows/coverage.yml | Generates JUnit XML output and uploads coverage/test results to Codecov. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| In order to maintain a certain standard regarding code quality, this repository CI will run various tools against expectations: | ||
| - `isort` will be used to check for proper imports sorting, and the CI will fail if the checks fail | ||
| - `black` will be used to check for proper code formatting, and the CI will fail if the checks fail | ||
| - `flake8` will be used to check for proper code styling, and the CI will fail if the checks fail | ||
| - `pytest` will be used to run various levels of testing, and the CI will fail if the tests fail |
| - `black` will be used to check for proper code formatting, and the CI will fail if the checks fail | ||
| - `flake8` will be used to check for proper code styling, and the CI will fail if the checks fail | ||
| - `pytest` will be used to run various levels of testing, and the CI will fail if the tests fail | ||
| - `coverage` with `codecov` will be used to check for proper code coverage, and the CI will fail if the level is below 80% for the current diff (a warning will be emitted if the level falls below 80% for the overall project) |
50a90a9 to
8c6135a
Compare
8c6135a to
35a9778
Compare
|
|
||
| - name: Print coverage summary | ||
| run: uv run coverage report -m --fail-under=70 | ||
| run: uv run coverage report -m --fail-under=80 |
There was a problem hiding this comment.
suggestion: If you want to enforce this score, it would be better to set fail-under setting inside pyproject.toml
| with: | ||
| token: ${{ secrets.CODECOV_TOKEN }} | ||
| flags: connectors | ||
| flags: pyoaev |
There was a problem hiding this comment.
suggestion: This flags is not needed because everything is pyoaev in this repos
Proposed changes
junit.xmlCONTRIBUTING.mdTesting Instructions
Related issues
Checklist