Backport 6.1 | Use global.json in all pipeline jobs #3927
Merged
paulmedynski merged 4 commits intorelease/6.1from Feb 3, 2026
Merged
Backport 6.1 | Use global.json in all pipeline jobs #3927paulmedynski merged 4 commits intorelease/6.1from
paulmedynski merged 4 commits intorelease/6.1from
Conversation
- Added global.json to restrict our SDK to the single supported version, currently 9.0. (#3797)
Contributor
There was a problem hiding this comment.
Pull request overview
This is a backport of PR #3797 to the 6.1 branch, standardizing how .NET SDK and Runtime installations are managed across all Azure Pipeline jobs using global.json.
Changes:
- Added global.json to restrict the SDK version to 9.0.309 with rollForward set to latestMinor
- Created new consolidated installation templates (install-dotnet.yml and install-dotnet-arm64.ps1) to replace the old ensure-dotnet-version.yml approach
- Updated all pipeline jobs to use the new installation templates, with special handling for ARM64 architecture
- Updated documentation and configuration files, though several version mismatches were introduced
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| global.json | Added SDK version specification (9.0.309) with rollForward and allowPrerelease settings |
| eng/pipelines/steps/install-dotnet.yml | New template for installing .NET SDK and Runtimes using global.json, with architecture-specific handling |
| eng/pipelines/steps/install-dotnet-arm64.ps1 | New PowerShell script for ARM64 installation to work around UseDotNet@2 bug |
| eng/pipelines/steps/compound-build-akv-step.yml | Replaced ensure-dotnet-version with install-dotnet template, but introduced parameter indentation error |
| eng/pipelines/common/templates/steps/ensure-dotnet-version.yml | Removed old installation template (108 lines deleted) |
| eng/pipelines/common/templates/steps/pre-build-step.yml | Updated to use new install-dotnet template |
| eng/pipelines/common/templates/steps/ci-project-build-step.yml | Removed SDK installation (now handled by job templates) |
| eng/pipelines/common/templates/steps/ci-prebuild-step.yml | Removed SDK installation and project build step |
| eng/pipelines/common/templates/steps/prepare-test-db-step.yml | Changed default targetFramework to net10.0 (version mismatch with global.json) |
| eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml | Updated to use install-dotnet, but parameter name mismatch introduced |
| eng/pipelines/common/templates/jobs/ci-run-tests-job.yml | Added install-dotnet template, ARM64 support, and project build step with parameter issues |
| eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml | Added install-dotnet template and Debug/Release build logic with parameter mismatches |
| eng/pipelines/common/templates/jobs/ci-code-coverage-job.yml | Updated to use install-dotnet template |
| eng/pipelines/common/templates/stages/ci-run-tests-stage.yml | Added isArm64 parameter propagation |
| eng/pipelines/jobs/stress-tests-ci-job.yml | Replaced multiple install tasks with single install-dotnet template call |
| eng/pipelines/stages/stress-tests-ci-stage.yml | Reduced default netFrameworkTestRuntimes to just net462 |
| eng/pipelines/dotnet-sqlclient-ci-core.yml | Expanded test coverage for x86 builds, added ARM64 configuration with boolean/string type issue |
| BUILDGUIDE.md | Added .NET SDK requirements section, but mentions .NET 10.0 instead of 9.0 |
| README.md | Reorganized documentation links alphabetically |
| .editorconfig | Fixed batch/cmd file pattern and added PowerShell to CRLF rule |
| .github/workflows/codeql.yml | Simplified to use global.json for SDK installation |
| .config/CredScanSuppressions.json | Formatting cleanup |
| src/Microsoft.Data.SqlClient.sln | Updated to reflect new install-dotnet files and removed ensure-dotnet-version |
eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml
Outdated
Show resolved
Hide resolved
apoorvdeshmukh
approved these changes
Feb 2, 2026
paulmedynski
commented
Feb 2, 2026
Contributor
Author
paulmedynski
left a comment
There was a problem hiding this comment.
Best to review one commit at a time, and ignore whitespace.
priyankatiwari08
approved these changes
Feb 2, 2026
paulmedynski
added a commit
that referenced
this pull request
Feb 12, 2026
mdaigle
pushed a commit
that referenced
this pull request
Feb 13, 2026
* Backport 6.1 | Use global.json in all pipeline jobs (#3927) * Manual fixes after cherry-pick conflict resolution. * Removed .NET 9 Runtime installaations since they are already included in .NET 9 SDKs. * Addressed Copilot review comments.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Bakport of #3797:
Testing
The CI pipelines will validate these changes.