-
Notifications
You must be signed in to change notification settings - Fork 96
fix(ci): Improve PR coverage check workflow accuracy #8692
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
- Add exclusions for apps/Standalone and apps/docs (no tests) - Add exclusions for manifest and swagger directories (config/data files) - Use full relative path matching instead of basename for accurate file matching in lcov reports - Add explicit list of packages that require coverage - Fail when files in covered packages have no coverage data - Report skipped files for packages not configured for coverage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 AI PR Validation ReportPR Review ResultsThank you for your submission! Here's detailed feedback on your PR title and body compliance:✅ PR Title
✅ Commit Type
✅ Risk Level
✅ What & Why
✅ Impact of Change
✅ Test Plan
✅ Contributors
✅ Screenshots/Videos
Summary Table
Final Notes
Please update/remove the
|
|
📊 Coverage check completed. See workflow run for details. |
|
📊 Coverage check completed. See workflow run for details. |
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 fixes accuracy issues in the PR coverage check workflow that were causing it to incorrectly report coverage status. The workflow was matching files incorrectly using basename (which could match wrong files with the same name), checking files in packages without tests (like Standalone), and silently skipping packages that should have coverage.
Key Changes:
- Fixed file path matching to use relative paths with anchors instead of basename matching
- Added explicit list of packages requiring coverage with validation
- Excluded non-testable directories (Standalone app, docs, config files) from coverage checks
Commit Type
Risk Level
What & Why
The PR coverage check workflow was not accurately detecting uncovered files due to several issues:
apps/Standalone/were being checked but this dev environment has no testsbasenamefor file matching could match wrong files with the same name in different directoriesThis fix improves the accuracy of the coverage check so PRs with untested code are properly blocked.
Impact of Change
Test Plan
Manual Testing Evidence
Issue identified in PR #8690: The coverage check was incorrectly flagging manifest files and Standalone app files that don't have test coverage.
Changes made:
apps/Standalone/**,apps/docs/****/manifest/**,**/manifests/**,**/swagger/**Verification:
builtinmcpclient.ts(a manifest file) as needing coverageWhy automated tests are not feasible:
This is a GitHub Actions workflow file that can only be fully tested by running the workflow itself in CI. The bash script logic operates on lcov coverage reports which are generated during the CI run.
Contributors
@krrishmittal
Screenshots/Videos
N/A - CI workflow changes only