-
Notifications
You must be signed in to change notification settings - Fork 27
FEAT: Full Code Coverage & Workflow Integration #238
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
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 introduces a comprehensive code coverage solution for the mssql-python project, enabling unified Python and C++ coverage reporting on macOS through GitHub Actions. The implementation adds automated coverage collection, merging, and PR commenting capabilities.
- Adds a new GitHub Actions workflow for macOS-based unified coverage testing on pull requests
- Implements a shell script to automate coverage collection, merging Python and C++ coverage data
- Updates the CMake build configuration to enable Clang coverage instrumentation on macOS
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
.github/workflows/pr-code-coverage.yml |
New GitHub Actions workflow for running tests and generating unified coverage reports on macOS |
generate_codecov.sh |
New script to collect, merge, and generate HTML coverage reports from Python and C++ code |
mssql_python/pybind/build.sh |
Updated to include Clang coverage flags for C++ instrumentation on macOS |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
…ain permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
… bewithgaurav/universal_codecov
Work Item / Issue Reference
Summary
This pull request introduces significant improvements to the PR validation pipeline by adding unified code coverage reporting for both Python and C++ code, enhancing the build process for coverage instrumentation, and optimizing the PR size label automation. The main changes are grouped below:
Pipeline Enhancements:
CodeCoverageReportjob toeng/pipelines/pr-validation-pipeline.ymlthat builds dependencies, runs tests, generates unified coverage reports (Python + C++), and publishes results in both HTML and Cobertura XML formats for Azure DevOps. This includes setup for SQL Server, Python dependencies, and C++ coverage instrumentation.Build and Coverage Tooling:
generate_codecov.shto automate installation of coverage tools, run tests, collect and merge Python/C++ coverage data, and produce unified reports.mssql_python/pybind/build.shto support a coverage build mode (codecovor--coverage), enabling Clang coverage instrumentation for Linux builds and adjusting CMake configuration accordingly. [1] [2]PR Automation Improvements:
.github/workflows/pr-format-check.ymlto only update labels when necessary, reducing unnecessary label churn and improving logging for better traceability.