Skip to content

Pipelines | Restore SQL Server 2022 coverage in the CI test matrix - #4587

Open
cheenamalhotra wants to merge 2 commits into
dev/automation/ci-retire-hosted-agentsfrom
dev/automation/ci-restore-sql2022-coverage
Open

Pipelines | Restore SQL Server 2022 coverage in the CI test matrix#4587
cheenamalhotra wants to merge 2 commits into
dev/automation/ci-retire-hosted-agentsfrom
dev/automation/ci-restore-sql2022-coverage

Conversation

@cheenamalhotra

@cheenamalhotra cheenamalhotra commented Aug 24, 2026

Copy link
Copy Markdown
Member

Stacked PR 4 of 4. Base: dev/automation/ci-retire-hosted-agents (#4515), which stacks on #4514#4513.

Summary

Addresses the outstanding review feedback on #4513: moving the primary CI configurations to SQL Server 2025 removed SQL Server 2022 coverage entirely. This restores it.

Configuration Stage key Image
windows_sql_22_x64 Win22_Sql22 ADO-MMS22-SQL22
linux_ub22_sql_22 Ubuntu22_Sql22 ADO-UB22-SQL22

Both run against a locally installed SQL Server 2022 (configSqlFor: local), mirroring the 2016/2017/2019 configurations. The Windows job uses $(SQL22RootPath).

Target frameworks use the non-primary lists (targetFrameworks / targetFrameworksUnix), consistent with the other legacy-SQL configurations — the newest runtimes are still validated first on the primary SQL 2025 / Azure SQL configurations.

Feedback addressed

The Linux configuration is included because #4513 also collapsed the Linux SQL 2022 jobs into a single SQL 2025 job.

CI-only gating

Both configurations sit under a single ${{ if eq(parameters.runSql22Tests, true) }} conditional, mirroring the existing runLegacySqlTests block. sqlclient-pr-project-ref-pipeline.yml and sqlclient-pr-package-ref-pipeline.yml pass runSql22Tests: false, so PR validation stays on SQL Server 2019, 2025 and Azure SQL, and PR runtime/cost is unchanged.

Note

Two new CI stages (Win22_Sql22, Ubuntu22_Sql22) are added. No existing stage names change in this PR.

Checklist

Adds back windows_sql_22_x64 (ADO-MMS22-SQL22) and linux_ub22_sql_22
(ADO-UB22-SQL22) to the CI-SqlClient test configurations, so moving the
primary configurations to SQL Server 2025 does not drop SQL Server 2022
coverage entirely.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings August 24, 2026 21:17
@cheenamalhotra
cheenamalhotra requested a review from a team as a code owner August 24, 2026 21:17
@github-project-automation github-project-automation Bot moved this to To triage in SqlClient Board Aug 24, 2026
@cheenamalhotra cheenamalhotra added this to the 7.1.0-preview3 milestone Aug 24, 2026
@cheenamalhotra cheenamalhotra moved this from To triage to In review in SqlClient Board Aug 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Restores SQL Server 2022 coverage in the Azure DevOps CI test matrix by adding dedicated Windows and Linux test configurations that run against locally installed SQL Server 2022 images, complementing the primary SQL Server 2025 coverage.

Changes:

  • Add a new Windows Server 2022 + local SQL Server 2022 test configuration (windows_sql_22_x64) using ADO-MMS22-SQL22 and $(SQL22RootPath).
  • Add a new Ubuntu 22 + local SQL Server 2022 test configuration (linux_ub22_sql_22) using ADO-UB22-SQL22.
Suppressed comments (1)

eng/pipelines/dotnet-sqlclient-ci-core.yml:596

  • linux_ub22_sql_22 is added unconditionally to testConfigurations, so it will run in PR pipelines as well (they pass buildSuffix: 'pr' but still inherit all non-legacy configurations). If SQL Server 2022 coverage is intended to be CI-only, this should be gated the same way as the Windows 2022 entry (e.g., ${{ if eq(parameters.buildSuffix, 'ci') }} or a dedicated parameter).
        # Linux Ubuntu 22 with local SQL Server 2022, x64 build platform.
        #
        # Keeps Linux SQL Server 2022 coverage now that the primary Linux
        # configuration below runs against SQL Server 2025.
        linux_ub22_sql_22:
          pool: ${{parameters.defaultPoolName }}
          images:

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +429 to +435
# Windows Server 22 with local SQL Server 2022, x64 build platform.
#
# SQL Server 2025 is covered by windows_sql_25_x64 below. This
# configuration keeps SQL Server 2022 in the coverage matrix, alongside
# the 2016/2017/2019 configurations above.
windows_sql_22_x64:
pool: ${{parameters.defaultPoolName }}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch - addressed in 1a2b3af61.

Both SQL 2022 configurations are now grouped under a single ${{ if eq(parameters.runSql22Tests, true) }} conditional (mirroring the existing runLegacySqlTests block), and sqlclient-pr-project-ref-pipeline.yml / sqlclient-pr-package-ref-pipeline.yml pass runSql22Tests: false. PR validation stays on SQL Server 2019, 2025 and Azure SQL; SQL 2022 is CI-only.

I used a dedicated parameter rather than buildSuffix, to match how legacy SQL coverage is already gated, and a single conditional block rather than two so there aren't duplicate conditional keys in the same mapping.

Groups windows_sql_22_x64 and linux_ub22_sql_22 under a single
runSql22Tests conditional (mirroring the existing legacy SQL block) and
opts the PR pipelines out, so PR validation stays on SQL Server 2019,
2025 and Azure SQL.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings August 24, 2026 21:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

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

Copilot AI review requested due to automatic review settings August 24, 2026 21:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

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

@cheenamalhotra cheenamalhotra modified the milestones: 7.1.0-preview3, 7.1.0 Aug 24, 2026
@cheenamalhotra
cheenamalhotra force-pushed the dev/automation/ci-restore-sql2022-coverage branch from 80a921b to 1a2b3af Compare August 24, 2026 22:36
Copilot AI review requested due to automatic review settings August 24, 2026 22:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

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

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.

5 participants