-
Notifications
You must be signed in to change notification settings - Fork 4
CI: run tests in Matrix and upload only 3.12 to Codecov #137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
Merging this PR will improve performance by 10.23%
Performance Changes
Comparing |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #137 +/- ##
=======================================
Coverage 88.29% 88.29%
=======================================
Files 3 3
Lines 94 94
=======================================
Hits 83 83
Misses 11 11 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR refactors the CI workflow to separate linting and testing into distinct jobs, implements a test matrix for Python versions 3.10-3.14, and optimizes Codecov uploads to only include Python 3.12 coverage reports.
Changes:
- Split the
lint-testjob into separatelintandtestjobs for better parallelization - Added a test matrix to run tests across Python versions 3.10, 3.11, 3.12, 3.13, and 3.14
- Created a separate
codecovjob that downloads and uploads only Python 3.12 coverage and test results to Codecov
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if: ${{ !cancelled() }} | ||
| uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 | ||
| with: | ||
| name: coverage-py3.14 |
Copilot
AI
Jan 15, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR title indicates that coverage from Python 3.12 should be uploaded to Codecov, but this downloads coverage from Python 3.14 instead. This should be changed to "coverage-py3.12" to match the PR's stated intent.
| name: coverage-py3.14 | |
| name: coverage-py3.12 |
| - name: Download coverage reports | ||
| if: ${{ !cancelled() }} | ||
| uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 | ||
| with: | ||
| name: coverage-py3.14 | ||
| path: coverage |
Copilot
AI
Jan 15, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The codecov job uses "if: always()" which means it will run even if the test job fails. However, the download-artifact step uses "if: !cancelled()" which may cause issues if the test job fails and no artifact is produced. Consider adding a check to ensure the artifact exists before attempting to download, or adjust the condition to handle cases where tests fail for Python 3.12.
No description provided.