-
Notifications
You must be signed in to change notification settings - Fork 26
Commit 25131df
FEAT: Full Code Coverage & Workflow Integration (#238)
### Work Item / Issue Reference
<!--
IMPORTANT: Please follow the PR template guidelines below.
For mssql-python maintainers: Insert your ADO Work Item ID below (e.g.
AB#37452)
For external contributors: Insert Github Issue number below (e.g. #149)
Only one reference is required - either GitHub issue OR ADO Work Item.
-->
<!-- mssql-python maintainers: ADO Work Item -->
>
[AB#38622](https://sqlclientdrivers.visualstudio.com/c6d89619-62de-46a0-8b46-70b92a84d85e/_workitems/edit/38622)
-------------------------------------------------------------------
### 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:**
* Added a new `CodeCoverageReport` job to
`eng/pipelines/pr-validation-pipeline.yml` that 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.
* Commented out the old code coverage publishing task in the pipeline to
avoid duplicate or incomplete reporting, as the new job supersedes it.
**Build and Coverage Tooling:**
* Added a new script `generate_codecov.sh` to automate installation of
coverage tools, run tests, collect and merge Python/C++ coverage data,
and produce unified reports.
* Updated `mssql_python/pybind/build.sh` to support a coverage build
mode (`codecov` or `--coverage`), enabling Clang coverage
instrumentation for Linux builds and adjusting CMake configuration
accordingly.
[[1]](diffhunk://#diff-7cfcd9b5499a176c28ca4d028e9b2b060238ec79c4bea5b062d4b39929f9fb04R29-R35)
[[2]](diffhunk://#diff-7cfcd9b5499a176c28ca4d028e9b2b060238ec79c4bea5b062d4b39929f9fb04L50-R81)
**PR Automation Improvements:**
* Refined the PR size label automation in
`.github/workflows/pr-format-check.yml` to only update labels when
necessary, reducing unnecessary label churn and improving logging for
better traceability.
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>1 parent ec73b76 commit 25131dfCopy full SHA for 25131df
File tree
Expand file treeCollapse file tree
5 files changed
+723
-25
lines changedOpen diff view settings
Filter options
- .github/workflows
- eng/pipelines
- mssql_python/pybind
Expand file treeCollapse file tree
5 files changed
+723
-25
lines changedOpen diff view settings
0 commit comments