Skip to content

[8.0.1xx] Use dotnetup preview for SDK acquisition - #55645

Open
nagilson wants to merge 1 commit into
dotnet:release/8.0.1xxfrom
nagilson:nagilson/dotnetup-preview-release-8.0.1xx
Open

[8.0.1xx] Use dotnetup preview for SDK acquisition#55645
nagilson wants to merge 1 commit into
dotnet:release/8.0.1xxfrom
nagilson:nagilson/dotnetup-preview-release-8.0.1xx

Conversation

@nagilson

@nagilson nagilson commented Aug 6, 2026

Copy link
Copy Markdown
Member

@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 force-pushed the nagilson/dotnetup-preview-release-8.0.1xx branch from b49777d to 6c007f3 Compare August 6, 2026 19:26
@nagilson
nagilson force-pushed the nagilson/dotnetup-preview-release-8.0.1xx branch from 6c007f3 to 622beb5 Compare August 6, 2026 21:59
@nagilson
nagilson marked this pull request as ready for review August 6, 2026 22:20
Copilot AI review requested due to automatic review settings August 6, 2026 22:20
@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 enabled auto-merge August 6, 2026 22:21
@nagilson
nagilson requested a review from a team August 6, 2026 22:23

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

Updates the .NET SDK repo’s toolset/bootstrap scripts on the 8.0.1xx servicing branch to acquire SDKs and test runtimes via dotnetup preview, with shared cross-platform helpers for architecture detection, caching, and download.

Changes:

  • Add shared sdk-tools.* and dotnetup-shared.* helper scripts for architecture detection, musl checks, caching, and dotnetup acquisition.
  • Use dotnetup in eng/configure-toolset.* to preinstall the bootstrap SDK pinned in global.json into the repo-local .dotnet.
  • Use dotnetup in eng/restore-toolset.* to install additional shared frameworks for test execution (with cross-arch sidecar handling and fallback to dotnet-install where needed).

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
eng/sdk-tools.sh Adds bash helpers for native architecture detection (incl. Rosetta) and musl detection.
eng/sdk-tools.ps1 Adds PowerShell helpers for native/process architecture detection.
eng/dotnetup-shared.sh Adds bash helpers to cache/acquire dotnetup and run commands without set -e aborts.
eng/dotnetup-shared.ps1 Adds PowerShell helpers to cache/acquire dotnetup and safely invoke native/scripted installers.
eng/configure-toolset.sh Uses dotnetup to preinstall bootstrap SDK versions into repo-local .dotnet (with fallback behavior).
eng/configure-toolset.ps1 PowerShell equivalent bootstrap SDK acquisition via dotnetup.
eng/restore-toolset.sh Uses dotnetup (or dotnet-install fallback) to install test runtimes; adds cross-arch sidecar logic.
eng/restore-toolset.ps1 PowerShell equivalent test runtime installation and env/shortcut generation updates.
.gitignore Ignores the eng/dotnetup/ dotnetup install/output directory.
Suppressed comments (1)

eng/restore-toolset.ps1:103

  • The generated sdk-build-env.ps1 no longer sets DOTNET_MULTILEVEL_LOOKUP=0, which can allow the build to resolve runtimes/SDKs from global locations. The repo’s toolset scripts set this for hermetic behavior; the generated env script should as well.
`$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"

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread eng/restore-toolset.sh
Comment thread eng/restore-toolset.ps1 Outdated
Comment on lines +135 to +139
$scriptPath = Join-Path $ArtifactsDir 'sdk-build-env.ps1'
$slnPath = Join-Path $RepoRoot 'sdk.slnx'
$commandToLaunch = "& '$scriptPath'; & '$devenvPath' '$slnPath'"
$powershellPath = '%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe'
$shortcutPath = Join-Path $ArtifactsDir 'VS with sdk.slnx.lnk'
Comment thread eng/configure-toolset.sh
fi
done < "$repo_root/global.json"

local dotnet_root="$repo_root.dotnet"
Comment thread eng/restore-toolset.ps1 Outdated
$installScript = GetDotNetInstallScript $dotnetRoot
& $installScript -Version $version -InstallDir $dotnetRoot -Runtime "dotnet" -SkipNonVersionedFiles
function Get-VersionDetailsProperty([string]$propertyName) {
$versionDetailsPath = Join-Path $RepoRoot 'eng\Version.Details.props'
Comment thread eng/restore-toolset.sh
Comment thread eng/restore-toolset.ps1
Comment on lines 79 to 83
@echo off
title SDK Build ($RepoRoot)
set DOTNET_MULTILEVEL_LOOKUP=0
REM https://aka.ms/vs/unsigned-dotnet-debugger-lib
set VSDebugger_ValidateDotnetDebugLibSignatures=0

@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 1 pipeline(s).
3 pipeline(s) were filtered out due to trigger conditions.

@nagilson
nagilson force-pushed the nagilson/dotnetup-preview-release-8.0.1xx branch from 622beb5 to 05a73e0 Compare August 7, 2026 20:57
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