Skip to content

[7.0] Added CI test stages for SQL Server 16 and 17.#4115

Draft
paulmedynski wants to merge 1 commit intocherry-pick/7.0/4033from
cherry-pick/7.0/4087
Draft

[7.0] Added CI test stages for SQL Server 16 and 17.#4115
paulmedynski wants to merge 1 commit intocherry-pick/7.0/4033from
cherry-pick/7.0/4087

Conversation

@paulmedynski
Copy link
Copy Markdown
Contributor

@paulmedynski paulmedynski commented Mar 31, 2026

Cherry-pick of #4087 to release/7.0

Depends on #4110


Original PR Description

Description

We have been missing integration test coverage against SQL Server 16 and 17. This PR adds test stages for those versions, but only for CI runs.

Testing

Manual CI runs will confirm the stages are running correctly. They may fail though - since we're pretty sure we have some regressions (see #3714 for example).

Copilot AI review requested due to automatic review settings March 31, 2026 19:29
@github-project-automation github-project-automation bot moved this to To triage in SqlClient Board Mar 31, 2026
@paulmedynski paulmedynski changed the base branch from release/7.0 to cherry-pick/7.0/4033 March 31, 2026 19:32
Copy link
Copy Markdown
Contributor

Copilot AI left a 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 extends the repo’s CI infrastructure to add integration-test stages for legacy SQL Server versions (2016/2017) in CI runs (but not PR validation), while also incorporating prerequisite build/versioning updates (notably migrating test execution/build steps toward build2.proj and centralizing MDS versioning into MdsVersions.props).

Changes:

  • Add CI-only test configurations for SQL Server 2016 and 2017 via a new runLegacySqlTests pipeline parameter (default enabled for CI, disabled for PR).
  • Update pipeline test/build steps to invoke build2.proj test targets and updated MSBuild properties.
  • Introduce src/Microsoft.Data.SqlClient/MdsVersions.props and align project/nuspec output paths + XML doc include paths.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tools/targets/GenerateThisAssemblyCs.targets Defaults AssemblyFileVersion to AssemblyVersion when unset.
tools/specs/Microsoft.Data.SqlClient.nuspec Updates package file layout to match new artifacts/output path conventions.
tools/props/Versions.props Removes MDS versioning from this shared file; points to MdsVersions.props.
tools/intellisense/TrimDocs.ps1 Makes doc trimming fail-fast ($ErrorActionPreference='Stop', throws on missing input).
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlVector.cs Fixes XML doc <include> relative paths.
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlJson.cs Fixes XML doc <include> relative paths + minor formatting.
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlDbTypeExtensions.cs Fixes XML doc <include> relative paths.
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlDataReader.cs Fixes XML doc <include> relative paths + whitespace-only diffs.
src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj Enables doc generation, imports MdsVersions.props, updates OutputPath.
src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj Enables doc generation, imports MdsVersions.props, updates OutputPath, adjusts TrimDocs target.
src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.cs Adjusts XML doc <include> paths in ref surface file.
src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj Imports MdsVersions.props, updates OutputPath and ref artifact path.
src/Microsoft.Data.SqlClient/MdsVersions.props Adds centralized MDS assembly/package version derivation logic.
src/Microsoft.Data.SqlClient.sln Updates solution items (pipeline/onebranch entries, adds MdsVersions.props).
eng/pipelines/sqlclient-pr-project-ref-pipeline.yml Adds build2.proj path trigger; disables legacy SQL tests for PR.
eng/pipelines/sqlclient-pr-package-ref-pipeline.yml Adds build2.proj path trigger; disables legacy SQL tests for PR.
eng/pipelines/dotnet-sqlclient-ci-core.yml Adds runLegacySqlTests param and SQL 2016/2017 Windows test configurations.
eng/pipelines/common/templates/steps/run-all-tests-step.yml Switches test execution from build.proj to build2.proj targets/props.
eng/pipelines/common/templates/steps/ci-project-build-step.yml Updates driver build to build2.proj (but now Windows-only).
build2.proj Adds/extends build/test/pack infrastructure; introduces PackMds and new args.

@paulmedynski paulmedynski added this to the 7.0.1 milestone Mar 31, 2026
@paulmedynski
Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@mdaigle mdaigle moved this from To triage to In review in SqlClient Board Apr 1, 2026
@paulmedynski paulmedynski modified the milestones: 7.0.1, 7.0.2 Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

3 participants