Repository navigation
Conversation
|
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. |
merging on red due to OTHER known build issues - this is an isolated and understood / tested fix
|
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. |
There was a problem hiding this comment.
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.ps1no longer setsDOTNET_MULTILEVEL_LOOKUP=0. This repo disables multi-level lookup for deterministic builds (seeeng/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"
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). 2 pipeline(s) were filtered out due to trigger conditions. |
marcpopMSFT
left a comment
There was a problem hiding this comment.
One additional cross-build correctness issue found while comparing this backport with #55640.
| <_CrossArchTestRuntimeSidecar>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'test-runtimes', '$(TargetArchitecture)'))</_CrossArchTestRuntimeSidecar> | ||
| </PropertyGroup> | ||
| <ItemGroup Condition="Exists('$(_CrossArchTestRuntimeSidecar)')"> | ||
| <_CrossArchTestRuntimeFile Include="$(_CrossArchTestRuntimeSidecar)shared\**\*" /> |
There was a problem hiding this comment.
The sidecar contains the exact current-band runtime and ASP.NET Core versions as well as the older test frameworks. This unrestricted glob runs after the locally built current-band frameworks are overlaid, so it copies the downloaded 10.0.* files over those locally built product files. Please apply the same exclusions as #55640 for shared\Microsoft.NETCore.App\$(MajorMinorVersion).* and shared\Microsoft.AspNetCore.App\$(MajorMinorVersion).*.
|
Due to lack of recent activity, this PR has been labeled as 'Stale'. It will be closed if no further activity occurs within 7 more days. Any new comment will remove the label. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1de20b3d-20d1-4e4b-8971-48005dec872b
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1de20b3d-20d1-4e4b-8971-48005dec872b
Please see #55640