Skip to content

[automated] Merge branch 'main' => 'release/dnup' - #55261

Merged
dsplaisted merged 126 commits into
release/dnupfrom
merge/main-to-release/dnup
Jul 16, 2026
Merged

[automated] Merge branch 'main' => 'release/dnup'#55261
dsplaisted merged 126 commits into
release/dnupfrom
merge/main-to-release/dnup

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

I detected changes in the main branch which have not been merged yet to release/dnup. I'm a robot and am configured to help you automatically keep release/dnup up to date, so I've opened this PR.

This PR merges commits made on main by the following committers:

  • marcpopMSFT
  • Evangelink
  • mthalman
  • akoeplinger
  • jtschuster
  • dotnet-maestro[bot]
  • MichaelSimons
  • Copilot
  • nagilson
  • baronfel
  • jonathanpeppers
  • jasonmalinowski
  • nohwnd
  • rolfbjarne
  • Youssef1313
  • github-actions[bot]
  • joeloff
  • SimonZhao888

Instructions for merging from UI

This PR will not be auto-merged. When pull request checks pass, complete this PR by creating a merge commit, not a squash or rebase commit.

merge button instructions

If this repo does not allow creating merge commits from the GitHub UI, use command line instructions.

Instructions for merging via command line

Run these commands to merge this pull request from the command line.

git fetch
git checkout main
git pull --ff-only
git checkout release/dnup
git pull --ff-only
git merge --no-ff main

# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/sdk HEAD:merge/main-to-release/dnup
or if you are using SSH
git push git@github.com:dotnet/sdk HEAD:merge/main-to-release/dnup

After PR checks are complete push the branch

git push

Instructions for resolving conflicts

⚠️ If there are merge conflicts, you will need to resolve them manually before merging. You can do this using GitHub or using the command line.

Instructions for updating this pull request

Contributors to this repo have permission update this pull request by pushing to the branch 'merge/main-to-release/dnup'. This can be done to resolve conflicts or make other changes to this pull request before it is merged.
The provided examples assume that the remote is named 'origin'. If you have a different remote name, please replace 'origin' with the name of your remote.

git fetch
git checkout -b merge/main-to-release/dnup origin/release/dnup
git pull https://github.com/dotnet/sdk merge/main-to-release/dnup
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/sdk HEAD:merge/main-to-release/dnup
or if you are using SSH
git fetch
git checkout -b merge/main-to-release/dnup origin/release/dnup
git pull git@github.com:dotnet/sdk merge/main-to-release/dnup
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/sdk HEAD:merge/main-to-release/dnup

Contact .NET Core Engineering (dotnet/dnceng) if you have questions or issues.
Also, if this PR was generated incorrectly, help us fix it. See https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.

Copilot AI and others added 30 commits June 5, 2026 16:10
- Fix SlnFileFactory.CreateFromFilteredSolutionFile to preprocess .slnf
  file content and replace unescaped backslashes with forward slashes
  before JSON parsing, for backward compatibility with files generated
  by 'dotnet new slnf' with Windows-style paths.
- Fix the 'dotnet new slnf' template to use a derived symbol with a
  backslashToForwardSlash form, ensuring generated .slnf files always
  contain valid JSON paths.
- Add regression test WhenSlnfHasUnescapedBackslashesInPathItCanStillBeUsed.

Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com>
Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com>
Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com>
Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com>
Using the < operator here inadvertantly prevents critical log messages
from ever being excluded from the expensive call analysis based on the
`max_log_level` option.

The goal of this condition is to skip analysis if the logging statement
uses a level higher than `max_log_level`. If the level is critical and
`max_log_level` is lower than that, it must be true, so it needs to be a
"less than or equal to" comparison.
Co-authored-by: SimonZhao888 <133954995+SimonZhao888@users.noreply.github.com>
We were explicitly looking for an mscorlib.dll as being in the list of
references, but that won't work for Corlib itself since it has no
references. Just replace the check that to do analysis, we have to have
a System.Object somewhere.

Fixes #53595
This isn't needed since it's just a console app.
The repo-wide default (test/Directory.Build.props) sets MSTestParallelizeScope
to None, fully serializing every MSTest project. The containerize.UnitTests and
Microsoft.NET.Build.Containers.UnitTests projects are genuine unit tests with no
shared process-global state, so opt them back in to MethodLevel parallelization.

The two classes in Containers.UnitTests that mutate process-global environment
variables (AuthHandshakeMessageHandlerTests, DockerDaemonTests) are marked
[DoNotParallelize] so they run serially under the method-level pool.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Address review feedback: capture and restore process-global environment
variables in a finally block so a thrown assertion or a value already set on
the test host cannot leak into subsequent tests.

- GetDockerCredentialsFromEnvironment_ReturnsCorrectValues now restores the
  registry credential vars in finally.
- Authenticate now captures and restores REGISTRY_AUTH_FILE.
- DockerDaemonTests restores the original DOCKER_HOST instead of clearing it.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Replace the prompt file with a standalone PowerShell script that checks
whether public GitHub release branches have been mirrored to internal
Azure DevOps repos.

Key fix from original PR #53982: use Invoke-RestMethod with an explicit
token from 'az account get-access-token' instead of 'az rest', which
fails on Windows due to:
1. Token acquisition issues (can't derive resource from AzDo URLs)
2. Unicode encoding errors ('charmap' codec)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add [ValidateRange(1, MaxValue)] to SearchDepth parameter
- Remove 2>&1 from az token call to avoid stderr corruption
- Add --only-show-errors and .Trim() for clean token capture

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…reCategory: InfrastructureError)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mthalman and others added 10 commits July 14, 2026 07:37
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…s on x64 (#55205)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…ovider.EnsureInstallPrerequisites (#55105)

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Resolved toolset conflicts: eng/Signing.props combines main's aspnetcore NativeAOT tool signing with dnup's dotnetup native-executable signing (both kept). The three eng/common Arcade files (helix-job-monitor.yml, publish-build-assets.yml, tools.ps1) take main's version, since release/dnup tracks main's toolset via this merge (it has no darc subscription). All of main's non-toolset changes flow forward into dnup as intended.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 59570d89-a7e3-4993-baa9-3fb1f442a617
@dsplaisted
dsplaisted force-pushed the merge/main-to-release/dnup branch from 1a458c2 to 221c25b Compare July 14, 2026 19:27
@github-actions github-actions Bot added the sdk-diagnostic-docs-needed Indicates that a PR introduces new diagnostic codes, which must be documented over at dotnet/docs label Jul 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor Author

📋 SDK Diagnostic Documentation Reminder

This PR introduces 1 new SDK diagnostic code:

  • NETSDK1243

Action Required

Please ensure that documentation for this diagnostic is added or updated in the dotnet/docs repository at:

Each diagnostic should have:

  • A clear description of the error/warning
  • Possible causes
  • Recommended solutions
  • Code examples where applicable

Thank you for helping keep our documentation up to date! 🙏

Evangelink and others added 14 commits July 15, 2026 11:46
…iscovery

The test/dotnet-aot.Tests project publishes as NativeAOT and relies on the MSTest source generator for test discovery (reflection isn't AOT-safe). That requires MSTest.Sdk (the MSBuild SDK pinned in global.json) and the MSTest framework packages (MSTestPackageVersion, flowed by darc from microsoft/testfx) to be coherent.

A dotnet/dotnet flow bumped MSTestPackageVersion to 4.4.0-preview.26360.5 while MSTest.Sdk stayed at 4.3.0-preview.26325.12, and PR #54719 then enabled the NativeAOT CLI test leg. The SDK/framework skew makes the source generator register zero tests, so the leg fails with MTP exit code 8 (Test run summary: Zero tests ran) on every main build. Normal reflection-based MSTest runs tolerate the skew, so only the AOT leg breaks.

Fix: bump MSTest.Sdk to 4.4.0-preview.26360.5 (same testfx build as the MSTest framework), and track MSTest.Sdk as a darc dependency in eng/Version.Details.xml. Like Microsoft.DotNet.Arcade.Sdk and .Helix.Sdk, darc then updates its global.json msbuild-sdks version in lockstep with the MSTest framework packages, preventing the versions from drifting apart again.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 59570d89-a7e3-4993-baa9-3fb1f442a617
…um 843419)

The 'AoT: windows (arm64)' cross-build leg added in #55205 has never passed: the win-arm64 NativeAOT cross-link fails with 'LNK1322: cannot avoid potential ARM hazard (Cortex-A53 MPCore processor bug #843419)' because the ILCompiler-produced object is not split into per-function sections, so the MSVC arm64 linker cannot apply the erratum fixup. Only win-arm64 is affected (win-x64, osx-arm64, linux-x64/arm64 AoT legs all pass).

Set disableJob: true on the win-arm64 AoT job parameter set in .vsts-pr.yml and .vsts-ci.yml to stop it red-walling every build until the underlying ILCompiler fix lands. Re-enable by removing disableJob.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 59570d89-a7e3-4993-baa9-3fb1f442a617
…5271)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dsplaisted
dsplaisted merged commit 3730455 into release/dnup Jul 16, 2026
35 checks passed
@dsplaisted
dsplaisted deleted the merge/main-to-release/dnup branch July 16, 2026 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sdk-diagnostic-docs-needed Indicates that a PR introduces new diagnostic codes, which must be documented over at dotnet/docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.