Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 24 additions & 4 deletions eng/pipelines/dotnet-sqlclient-ci-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,26 @@ parameters:
type: object
default: [net8.0, net9.0, net10.0]

# 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.
#
# Note: The driver does not ship a net10.0 target framework, so net10.0 test
# assemblies resolve the net9.0 driver build. Including net10.0 here
# validates the driver running on the .NET 10 runtime.
#
- name: primaryTargetFrameworks
type: object
default: [net462, net8.0, net9.0, net10.0]

# The target frameworks to build and run tests for on Unix, for the primary
# test configurations (local SQL Server 2025 and Azure SQL).
- name: primaryTargetFrameworksUnix
type: object
default: [net8.0, net9.0, net10.0]

# Netcore Version for Test Utilities
- name: netcoreVersionTestUtils
type: object
Expand Down Expand Up @@ -421,7 +441,7 @@ stages:
pool: ${{parameters.defaultPoolName }}
images:
Win25_Sql25: ADO-MMS25-SQL25
TargetFrameworks: ${{parameters.targetFrameworks }}
TargetFrameworks: ${{parameters.primaryTargetFrameworks }}
netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }}
buildPlatforms: ${{parameters.buildPlatforms }}
testSets: ${{parameters.testSets }}
Expand Down Expand Up @@ -494,7 +514,7 @@ stages:
images:
Win22_Azure_Sql: ADO-MMS22-SQL19
Win11_Azure_Sql: ADO-CI-Win11
TargetFrameworks: ${{parameters.targetFrameworks }}
TargetFrameworks: ${{parameters.primaryTargetFrameworks }}
netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }}
buildPlatforms: ${{parameters.buildPlatforms }}
testSets: ${{parameters.testSets }}
Expand Down Expand Up @@ -551,7 +571,7 @@ stages:
pool: ${{parameters.defaultPoolName }}
images:
Ubuntu24_Sql25: ADO-UB24-SQL25
TargetFrameworks: ${{parameters.targetFrameworksUnix }}
TargetFrameworks: ${{parameters.primaryTargetFrameworksUnix }}
netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }}
buildPlatforms: [AnyCPU]
testSets: ${{parameters.testSets }}
Expand All @@ -574,7 +594,7 @@ stages:
pool: ${{parameters.defaultPoolName }}
images:
Ubuntu24_Azure_Sql: ADO-UB24-SQL25
TargetFrameworks: ${{parameters.targetFrameworksUnix }}
TargetFrameworks: ${{parameters.primaryTargetFrameworksUnix }}
netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }}
buildPlatforms: [AnyCPU]
testSets: ${{parameters.testSets }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,11 @@ extends:
dotnetVerbosity: ${{ parameters.dotnetVerbosity }}
targetFrameworks: ${{ parameters.targetFrameworks }}
targetFrameworksUnix: ${{ parameters.targetFrameworksUnix }}
# Keep the primary (SQL 2025 / Azure SQL) configurations on the same set of
# target frameworks as everything else. Only the CI-SqlClient pipeline
# opts in to the broader .NET 10.0 coverage on those configurations.
primaryTargetFrameworks: ${{ parameters.targetFrameworks }}
primaryTargetFrameworksUnix: ${{ parameters.targetFrameworksUnix }}
testJobTimeout: ${{ parameters.testJobTimeout }}
testSets: ${{ parameters.testSets }}
useManagedSNI: ${{ parameters.useManagedSNI }}
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,9 @@ parameters:
# These are _not_ the target frameworks to build the driver packages for.
#
# Note: We are excluding .NET 10.0 here to avoid consuming too many resources
# during PR pipeline runs, and until we update our 1ES images to include
# Visual Studio 2026 (18.0) whose MSBuild SDK supports .NET 10.
# across every SQL Server image. .NET 10.0 coverage is provided by the
# primaryTargetFrameworks parameter below, which applies to the SQL Server
# 2025 and Azure SQL configurations.
#
- name: targetFrameworks
displayName: Target Frameworks on Windows
Expand All @@ -123,14 +124,38 @@ parameters:
# These are _not_ the target frameworks to build the driver packages for.
#
# Note: We are excluding .NET 10.0 here to avoid consuming too many resources
# during PR pipeline runs, and until we update our 1ES images to include
# Visual Studio 2026 (18.0) whose MSBuild SDK supports .NET 10.
# across every SQL Server image. .NET 10.0 coverage is provided by the
# primaryTargetFrameworksUnix parameter below, which applies to the SQL
# Server 2025 and Azure SQL configurations.
#
- name: targetFrameworksUnix
displayName: Target Frameworks on Unix
type: object
default: [net8.0, net9.0]

# The target frameworks used by the primary test configurations (local SQL
# Server 2025 and Azure SQL) on Windows.
#
# net10.0 is included here so that unit, functional, and manual tests get
# .NET 10 coverage without paying for it on every legacy SQL Server image.
#
# Note: The driver itself does not ship a net10.0 target framework, so the
# net10.0 test assemblies resolve the net9.0 driver build. These jobs
# therefore validate the driver running on the .NET 10 runtime, rather than
# a net10.0 build of the driver.
#
- name: primaryTargetFrameworks
displayName: Target Frameworks on Windows (SQL 2025 and Azure SQL)
type: object
default: [net462, net8.0, net9.0, net10.0]

# The target frameworks used by the primary test configurations (local SQL
# Server 2025 and Azure SQL) on Unix.
- name: primaryTargetFrameworksUnix
displayName: Target Frameworks on Unix (SQL 2025 and Azure SQL)
type: object
default: [net8.0, net9.0, net10.0]

# The timeout, in minutes, for each test job.
- name: testJobTimeout
displayName: Test job timeout (in minutes)
Expand Down Expand Up @@ -171,6 +196,8 @@ extends:
dotnetVerbosity: ${{ parameters.dotnetVerbosity }}
targetFrameworks: ${{ parameters.targetFrameworks }}
targetFrameworksUnix: ${{ parameters.targetFrameworksUnix }}
primaryTargetFrameworks: ${{ parameters.primaryTargetFrameworks }}
primaryTargetFrameworksUnix: ${{ parameters.primaryTargetFrameworksUnix }}
testJobTimeout: ${{ parameters.testJobTimeout }}
testSets: ${{ parameters.testSets }}
useManagedSNI: ${{ parameters.useManagedSNI }}
5 changes: 5 additions & 0 deletions eng/pipelines/sqlclient-pr-package-ref-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ extends:
debug: ${{ parameters.debug }}
targetFrameworks: ${{ parameters.targetFrameworks }}
targetFrameworksUnix: ${{ parameters.targetFrameworksUnix }}
# Keep the primary (SQL 2025 / Azure SQL) configurations on the same set of
# target frameworks as everything else. Only the CI-SqlClient pipeline
# opts in to the broader .NET 10.0 coverage on those configurations.
primaryTargetFrameworks: ${{ parameters.targetFrameworks }}
primaryTargetFrameworksUnix: ${{ parameters.targetFrameworksUnix }}
testJobTimeout: ${{ parameters.testJobTimeout }}
testSets: ${{ parameters.testSets }}
useManagedSNI: ${{ parameters.useManagedSNI }}
Expand Down
5 changes: 5 additions & 0 deletions eng/pipelines/sqlclient-pr-project-ref-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ extends:
debug: ${{ parameters.debug }}
targetFrameworks: ${{ parameters.targetFrameworks }}
targetFrameworksUnix: ${{ parameters.targetFrameworksUnix }}
# Keep the primary (SQL 2025 / Azure SQL) configurations on the same set of
# target frameworks as everything else. Only the CI-SqlClient pipeline
# opts in to the broader .NET 10.0 coverage on those configurations.
primaryTargetFrameworks: ${{ parameters.targetFrameworks }}
primaryTargetFrameworksUnix: ${{ parameters.targetFrameworksUnix }}
testJobTimeout: ${{ parameters.testJobTimeout }}
testSets: ${{ parameters.testSets }}
useManagedSNI: ${{ parameters.useManagedSNI }}
Expand Down
Loading