Skip to content

Restore local tools before Azure integration builds - #4952

Merged
cheenamalhotra merged 1 commit into
mainfrom
dev/cheena/restore-build-tools
Oct 30, 2026
Merged

cheenamalhotra merged 1 commit into
mainfrom
dev/cheena/restore-build-tools

Conversation

@cheenamalhotra

@cheenamalhotra cheenamalhotra commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Description

The Windows and Linux Azure integration jobs in #4890 failed because project-reference builds now reach the SqlClient reference assembly, whose documentation trimming requires the local pwsh tool.

Invoke the existing shared tool-restore template after SDK installation and before building the Azure tests. Restore remains unconditional for both reference modes. Add a regression test that checks this ordering. No public API or runtime behavior changes.

Issues

Failures seen in #4890. Addresses the missing-tool failures in build 187521.

Testing

Added a Pester regression test for the Azure integration job bootstrap.

Passed: the following isolated run selected one test, which passed:

@'
Import-Module Pester -RequiredVersion 5.3.1
$config = New-PesterConfiguration
$config.Run.Path = 'eng\pipelines\scripts\tests\Build-Orchestration.Tests.ps1'
$config.Filter.FullName = 'Azure integration tool bootstrap*'
$config.Run.Exit = $true
$config.Output.Verbosity = 'Detailed'
Invoke-Pester -Configuration $config
'@ | dotnet tool run pwsh -- -NoProfile -NonInteractive -Command -

Passed: dotnet msbuild src\Microsoft.Data.SqlClient\ref\Microsoft.Data.SqlClient.csproj -nologo -t:_CheckPwshToolRestored -p:TargetFramework=net10.0 -v:minimal.

Passed: git diff --check.

The initial test invocation unexpectedly ran unrelated orchestration tests and was stopped after Windows argument-handling failures; the explicit Pester 5 invocation above correctly isolated the new test. Full Azure integration tests and an Azure Pipelines rerun were not performed locally.

Validations

  • Tests added or updated
  • Public API changes documented (N/A: no public API changes)
  • Verified against customer repro (N/A: pipeline failure confirmed in build logs)
  • Ensure no breaking changes introduced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@cheenamalhotra
cheenamalhotra requested a review from a team as a code owner October 30, 2026 17:58
Copilot AI balanced review requested due to automatic review settings October 30, 2026 17:58
@github-project-automation github-project-automation Bot moved this to To triage in SqlClient Board Oct 30, 2026
@cheenamalhotra cheenamalhotra added this to the 8.0.0-preview1 milestone Oct 30, 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.

🔵 Needs a closer look

Required trusted-base review-policy references were not supplied with an immutable source, leaving policy verification incomplete.

No open issues 🎉

What changed in this PR

Restores local tools before Azure integration builds, addressing the missing pwsh dependency introduced when #4890 made project-reference builds include SqlClient’s reference assembly. No public API or runtime behavior changes.

Changes:

  • Invoke the shared tool-restore template after SDK installation for both reference modes.
  • Add a Pester regression test checking unconditional restoration and bootstrap ordering.
File Description
eng/​pipelines/​scripts/​tests/​Build-Orchestration.Tests.ps1 Tests that tool restoration occurs after SDK installation and before building.
eng/​pipelines/​jobs/​test-azure-package-ci-job.yml Adds shared local-tool restoration before Azure integration builds.

Review effort: Balanced

@cheenamalhotra cheenamalhotra moved this from To triage to In review in SqlClient Board Oct 30, 2026
@cheenamalhotra cheenamalhotra added the Area\Engineering Use this for issues that are targeted for changes in the 'eng' folder or build systems. label Oct 30, 2026
@codecov

codecov Bot commented Oct 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 66.64%. Comparing base (cb66150) to head (7efc6be).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4952      +/-   ##
==========================================
- Coverage   67.91%   66.64%   -1.28%     
==========================================
  Files         311      305       -6     
  Lines       45286    68341   +23055     
==========================================
+ Hits        30757    45543   +14786     
- Misses      14529    22798    +8269     
Flag Coverage Δ
CI-SqlClient ?
PR-SqlClient-Project 66.64% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cheenamalhotra
cheenamalhotra merged commit 89b228d into main Oct 30, 2026
103 of 106 checks passed
@cheenamalhotra
cheenamalhotra deleted the dev/cheena/restore-build-tools branch October 30, 2026 19:08
@github-project-automation github-project-automation Bot moved this from In review to Done in SqlClient Board Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area\Engineering Use this for issues that are targeted for changes in the 'eng' folder or build systems.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants