Skip to content

[10.0.1xx] Use dotnetup preview for SDK acquisition - #55641

Open
nagilson wants to merge 3 commits into
dotnet:release/10.0.1xxfrom
nagilson:nagilson/dotnetup-preview-release-10.0.1xx
Open

[10.0.1xx] Use dotnetup preview for SDK acquisition#55641
nagilson wants to merge 3 commits into
dotnet:release/10.0.1xxfrom
nagilson:nagilson/dotnetup-preview-release-10.0.1xx

Conversation

@nagilson

@nagilson nagilson commented Aug 6, 2026

Copy link
Copy Markdown
Member

Please see #55640

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
2 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@nagilson nagilson changed the title ]10.0.1xx] Use dotnetup preview for SDK acquisition [10.0.1xx] Use dotnetup preview for SDK acquisition Aug 6, 2026
merging on red due to OTHER known build issues - this is an isolated and understood / tested fix
@nagilson
nagilson marked this pull request as ready for review August 6, 2026 22:22
Copilot AI review requested due to automatic review settings August 6, 2026 22:22
@nagilson
nagilson enabled auto-merge August 6, 2026 22:22
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
2 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

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

Backports the “use dotnetup preview for acquisition” work to the 10.0.1xx servicing branch, updating toolset bootstrap and test-runtime acquisition to prefer dotnetup (with fallbacks) and to better support cross-architecture Helix payloads.

Changes:

  • Add shared dotnetup acquisition helpers (bash/PowerShell) and repo-owned architecture helpers used by build/test scripts.
  • Update toolset restore/configure scripts to install SDKs and test runtimes via dotnetup, including cross-build sidecar runtime handling and an MSBuild overlay step for Helix payloads.
  • Adjust a publish test to dynamically discover the installed 8.0.x runtime folder when dotnetup only installs latest patches.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
test/Microsoft.NET.Publish.Tests/GivenThatAPublishedDepsJsonShouldContainVersionInformation.cs Dynamically selects an installed 8.0.x runtime version for --fx-version execution.
src/Layout/redist/targets/OverlaySdkOnLKG.targets Adds target to overlay cross-arch test runtimes into the Helix test host from an artifacts sidecar.
eng/sdk-tools.sh Adds repo-owned bash helper for native machine architecture detection (incl. Rosetta handling).
eng/sdk-tools.ps1 Adds repo-owned PowerShell helpers for native/process architecture detection.
eng/restore-toolset.sh Switches test runtime acquisition to dotnetup with cross-arch sidecar behavior and install-script fallback.
eng/restore-toolset.ps1 Switches test runtime acquisition to dotnetup with cross-arch sidecar behavior and install-script fallback.
eng/dotnetup-shared.sh Adds shared bash helpers for dotnetup caching, acquisition, and non-errexit command execution.
eng/dotnetup-shared.ps1 Adds shared PowerShell helpers for dotnetup caching, acquisition, and safe native invocation.
eng/configure-toolset.sh Pre-installs bootstrap SDK(s) from global.json using dotnetup into repo-local .dotnet.
eng/configure-toolset.ps1 Pre-installs bootstrap SDK(s) from global.json using dotnetup into repo-local .dotnet.
.gitignore Ignores dotnetup build output under eng/dotnetup/.
Suppressed comments (1)

eng/restore-toolset.ps1:100

  • The generated sdk-build-env.ps1 no longer sets DOTNET_MULTILEVEL_LOOKUP=0. This repo disables multi-level lookup for deterministic builds (see eng/common/tools.ps1:160-162), and the generated script is meant to be executed in a fresh PowerShell session.
    $scriptContents = @"
`$host.ui.RawUI.WindowTitle = "SDK Build ($RepoRoot)"
# https://aka.ms/vs/unsigned-dotnet-debugger-lib
`$env:VSDebugger_ValidateDotnetDebugLibSignatures=0

`$env:DOTNET_ROOT="$env:DOTNET_INSTALL_DIR"
`$env:DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR="$env:DOTNET_INSTALL_DIR"

Comment thread eng/configure-toolset.sh
Comment thread eng/restore-toolset.sh
Comment thread eng/restore-toolset.ps1
@nagilson

nagilson commented Aug 6, 2026

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
2 pipeline(s) were filtered out due to trigger conditions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants