- 
  Notifications
 You must be signed in to change notification settings 
- Fork 27
FEAT: Expand CI Testing to add new SQL Server Versions #308
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 enhances the CI/CD pipeline to expand SQL Server version coverage and introduce matrix-based testing. The changes add support for testing against multiple SQL Server versions including LocalDB, SQL Server 2022, SQL Server 2025, and Azure SQL Database.
Key Changes
- Added matrix strategy for Windows testing to run tests against both LocalDB and SQL Server 2022
- Introduced SQL Server 2025 preview testing for Linux environments
- Enhanced test result aggregation with version-specific naming for better traceability
Comments suppressed due to low confidence (2)
eng/pipelines/pr-validation-pipeline.yml:363
- The condition only checks for 'Ubuntu' but now there are two Ubuntu matrix entries: 'Ubuntu' and 'Ubuntu-SQL2025'. The 'Ubuntu-SQL2025' entry will fall into the 'else' branch and be treated as Debian, which is incorrect. Update the condition to handle both Ubuntu variants, for example: if [[ "$(distroName)" == Ubuntu* ]]; then
 if [ "$(distroName)" = "Ubuntu" ]; then
eng/pipelines/pr-validation-pipeline.yml:389
- Similar to the previous issue, this condition only matches 'Ubuntu' exactly and will not match 'Ubuntu-SQL2025'. The Ubuntu-SQL2025 matrix entry will incorrectly use the Debian package configuration. Update to handle both Ubuntu variants: if [[ '$(distroName)' == Ubuntu* ]]; then
 if [ '$(distroName)' = 'Ubuntu' ]; then
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
📊 Code Coverage Report
🔥 Diff Coverage
100%
🎯 Overall Coverage
77%
📈 Total Lines Covered: 4623 out of 5965
📁 Project: mssql-python
Diff Coverage
Diff: main...HEAD, staged and unstaged changes
No lines with coverage information in this diff.
📋 Files Needing Attention
📉 Files with overall lowest coverage (click to expand)
mssql_python.pybind.ddbc_bindings.cpp: 70.7% mssql_python.row.py: 77.9% mssql_python.ddbc_bindings.py: 79.6% mssql_python.pybind.connection.connection.cpp: 81.2% mssql_python.connection.py: 82.9% mssql_python.cursor.py: 83.6% mssql_python.pybind.connection.connection_pool.cpp: 84.8% mssql_python.auth.py: 87.1% mssql_python.pooling.py: 87.7% mssql_python.exceptions.py: 92.1%
🔗 Quick Links
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.
deleted duplicate test
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.
retry logic since this is a flaky test
 
 @saurabh500
 
 saurabh500
 
 
 
 
 Oct 30, 2025 
 
 
 
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.
A maintenance note. When a new version of SQL, esp CU is released, this old URL typically becomes ineffective.
We have 1ES images which leverage similar script for download and install of SQL. There is a central team which updates these URLs regularly.
This comment is FYI. You can't do anything about it. But if one fine day, the CI starts failing then you know what to do 😄
 
 @saurabh500
 
 saurabh500
 
 
 
 left a comment
 
 
 
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.
Left a comment FYI. nothing to do. Make a note in any maintenance docs or perhaps add a comment in the script. 😃
Uh oh!
There was an error while loading. Please reload this page.
Work Item / Issue Reference
Summary
This pull request updates the
pr-validation-pipeline.ymlto enhance test coverage and CI flexibility by adding matrix builds for multiple SQL Server environments (LocalDB, SQL Server 2022, and Azure SQL Database) on Windows, and by introducing support for SQL Server 2025 on Linux via Docker. The changes ensure that tests are run and results are published for each supported SQL backend, improving reliability and compatibility testing.Windows build matrix and test orchestration:
LocalDBandSQL Server 2022on Windows, allowing the pipeline to test against multiple SQL Server versions in parallel.Linux build matrix and SQL Server version support: