Skip to content

Commit 25131df

Browse files
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 25131df

File tree

5 files changed

+723
-25
lines changed

5 files changed

+723
-25
lines changed

0 commit comments

Comments
 (0)