Pipelines | Add .NET 10 test coverage to the CI-SqlClient pipeline - #4514
Pipelines | Add .NET 10 test coverage to the CI-SqlClient pipeline#4514cheenamalhotra wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a “primary configuration” target framework override to the shared CI core template so the CI-SqlClient pipeline can run its main SQL Server 2025 + Azure SQL test legs on the .NET 10 runtime, while keeping other pipelines’ framework matrices unchanged.
Changes:
- Introduces
primaryTargetFrameworks/primaryTargetFrameworksUnixparameters and wires them into the SQL 2025 + Azure SQL Windows/Linux configurations indotnet-sqlclient-ci-core.yml. - Updates the CI-SqlClient (project-reference) pipeline to expose and pass the new parameters, defaulting primary legs to include
net10.0while keeping legacy-image legs on the previous framework set. - Pins the new parameters in the PR and package-reference pipelines so their behavior remains aligned with their existing
targetFrameworks/targetFrameworksUnixvalues.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| eng/pipelines/dotnet-sqlclient-ci-core.yml | Adds primary-framework parameters and uses them for SQL 2025 + Azure SQL legs (Windows/Linux). |
| eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml | Defines and threads primary-framework parameters; primary legs include net10.0 by default. |
| eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml | Pins primary-framework parameters to the existing framework lists to avoid behavioral changes. |
| eng/pipelines/sqlclient-pr-package-ref-pipeline.yml | Pins primary-framework parameters to match PR pipeline framework lists (no expansion). |
| eng/pipelines/sqlclient-pr-project-ref-pipeline.yml | Pins primary-framework parameters to match PR pipeline framework lists (no expansion). |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Introduce primaryTargetFrameworks and primaryTargetFrameworksUnix, which apply only to the primary test configurations: local SQL Server 2025 and Azure SQL, on both Windows and Linux. Those configurations now run net10.0 in addition to the existing target frameworks. Restricting .NET 10 to the primary configurations keeps the added agent cost bounded rather than multiplying it across every legacy SQL Server image. The other pipelines that extend the CI core pin the new parameters to their existing target framework lists, so their behaviour is unchanged. Note that the driver itself only targets net462, net8.0, and net9.0, so the net10.0 test assemblies resolve the net9.0 driver build. These jobs therefore validate the driver on the .NET 10 runtime rather than validating a .NET 10 build of the driver. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 10246002-c950-42a7-adf5-1698f9af4b3d
ddd25ba to
871f38c
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
Suppressed comments (1)
eng/pipelines/dotnet-sqlclient-ci-core.yml:46
- The comment describing “primary test configurations” is a bit ambiguous because there are multiple SQL Server 2025 configurations in this template (e.g., x86, named instance, macOS docker). Since only a subset of these configurations is wired to
primaryTargetFrameworks*, consider calling out the specific config keys treated as “primary” so future edits don’t mistakenly assume all SQL 2025 variants are included.
# The target frameworks to build and run tests for on Windows, for the
# primary test configurations (local SQL Server 2025 and Azure SQL).
#
# These configurations carry the broadest coverage, so newer runtimes are
# validated here first before being enabled across every configuration.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev/automation/ci-sql2025-images #4514 +/- ##
===================================================================
Coverage ? 62.69%
===================================================================
Files ? 283
Lines ? 67041
Branches ? 0
===================================================================
Hits ? 42031
Misses ? 25010
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Stacked PR 2 of 3. Targets
dev/automation/ci-sql2025-images(#4513) - review that one first. Follow-up: (3) hosted-agent retirement.Summary
Adds .NET 10 test coverage to the CI-SqlClient pipeline.
Introduces
primaryTargetFrameworksandprimaryTargetFrameworksUnix, which apply only to the primary test configurations - local SQL Server 2025 and Azure SQL, on both Windows and Linux. Those four configurations now runnet10.0in addition to their existing target frameworks. Each of those configurations runs the unit, functional, and manual test sets, so this covers all three for .NET 10.Restricting .NET 10 to the primary configurations keeps the added agent cost bounded rather than multiplying it across every legacy SQL Server image. The other pipelines that extend the CI core (
ci-package-reference,pr-package-ref,pr-project-ref) pin the new parameters to their existing target framework lists, so their behaviour is unchanged.Note on what this validates
The driver itself only targets
net462,net8.0, andnet9.0, so thenet10.0test assemblies resolve thenet9.0driver build. These jobs therefore validate the driver on the .NET 10 runtime, rather than validating a .NET 10 build of the driver. This is called out in a comment in the pipeline.global.jsonalready pins SDK10.0.300, so no SDK installation changes were needed.Checklist
All modified YAML files parse cleanly. These changes have not yet been executed against Azure DevOps.