SDK main uses dotnetup to install the bootstrap SDK and test runtimes#54600
Conversation
Port the dotnetup-based acquisition scripts: configure-toolset installs the bootstrap SDK from global.json and restore-toolset installs the test shared frameworks, both via dotnetup (downloaded by scripts/get-dotnetup.{sh,ps1}). The dotnet-install script is retained as a fallback. Ignore the downloaded eng/dotnetup/ binary.
There was a problem hiding this comment.
Pull request overview
This PR ports the dotnetup-based toolset acquisition flow into main, using dotnetup to install the bootstrap SDK from global.json and to install shared frameworks needed for tests, with dotnet-install retained as a fallback.
Changes:
- Add
scripts/get-dotnetup.{sh,ps1}to download and verify dotnetup binaries via aka.ms + SHA-512. - Update
eng/configure-toolset.{sh,ps1}to install the bootstrap SDK via dotnetup into the repo-local SDK location. - Update
eng/restore-toolset.{sh,ps1}to install test runtimes via dotnetup with fallback behavior for cross-arch scenarios, and ignore the cached dotnetup binary directory.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/get-dotnetup.sh | Adds a Bash helper to download, checksum-verify, and install dotnetup locally. |
| scripts/get-dotnetup.ps1 | Adds a PowerShell helper to download, checksum-verify, and install dotnetup locally. |
| eng/restore-toolset.sh | Switches test runtime acquisition to dotnetup with install-script fallback when arch override is needed. |
| eng/restore-toolset.ps1 | Switches test runtime acquisition to dotnetup with install-script fallback when arch override is needed. |
| eng/configure-toolset.sh | Pre-installs bootstrap SDK(s) via dotnetup as part of toolset configuration. |
| eng/configure-toolset.ps1 | Pre-installs bootstrap SDK(s) via dotnetup as part of toolset configuration. |
| .gitignore | Ignores the downloaded eng/dotnetup/ binary directory. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
I will force merge upon approval, similar to how I force merged here, #54586 to unblock. I verified the failures were due to flakey tests - |
dsplaisted
left a comment
There was a problem hiding this comment.
As discussed, let's follow up after this by switching to live versions of the get-dotnetup scripts from the aka.ms links.
Roger that: #54606 (working on it) |

For #54257
Port the dotnetup-based acquisition scripts from https://github.com/dotnet/sdk/tree/release/dnup.
The implementation is reviewed within #54586. No code is new within ce484c3, but I could not reasonably cherry-pick, the commits were too sharded. History will continue to be preserved in
release/dnup.In this PR, we:
configure-toolset installs the bootstrap SDK from global.json and restore-toolset installs the test shared frameworks, both via dotnetup (downloaded by scripts/get-dotnetup.{sh,ps1}).
The dotnet-install script is retained as a fallback.
Modify .gitignore to Ignore the downloaded eng/dotnetup/ binary.