-
Notifications
You must be signed in to change notification settings - Fork 321
Backport 6.1 | Use global.json in all pipeline jobs #3927
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: release/6.1
Are you sure you want to change the base?
Conversation
- Added global.json to restrict our SDK to the single supported version, currently 9.0. (#3797)
There was a problem hiding this 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 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
There was a problem hiding this comment.
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 22 out of 23 changed files in this pull request and generated 4 comments.
paulmedynski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Best to review one commit at a time, and ignore whitespace.
Description
Bakport of #3797:
Testing
The CI pipelines will validate these changes.