Skip to content

[automated] Merge branch 'release/10.0.3xx' => 'main'#53288

Open
github-actions[bot] wants to merge 271 commits intomainfrom
merge/release/10.0.3xx-to-main
Open

[automated] Merge branch 'release/10.0.3xx' => 'main'#53288
github-actions[bot] wants to merge 271 commits intomainfrom
merge/release/10.0.3xx-to-main

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Mar 5, 2026

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

This PR merges commits made on release/10.0.3xx by the following committers:

  • DonnaChen888
  • tmat
  • dotnet-bot
  • marcpopMSFT
  • jjonescz
  • Copilot
  • github-actions[bot]
  • dsplaisted
  • dotnet-maestro[bot]
  • davidwengier
  • YuliiaKovalova
  • adamzip
  • jonathanpeppers
  • nagilson
  • invalid-email-address
  • joeloff
  • vseanreesermsft
  • baronfel

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 release/10.0.3xx
git pull --ff-only
git checkout main
git pull --ff-only
git merge --no-ff release/10.0.3xx

# 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/release/10.0.3xx-to-main
or if you are using SSH
git push git@github.com:dotnet/sdk HEAD:merge/release/10.0.3xx-to-main

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/release/10.0.3xx-to-main'. 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/release/10.0.3xx-to-main origin/main
git pull https://github.com/dotnet/sdk merge/release/10.0.3xx-to-main
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/sdk HEAD:merge/release/10.0.3xx-to-main
or if you are using SSH
git fetch
git checkout -b merge/release/10.0.3xx-to-main origin/main
git pull git@github.com:dotnet/sdk merge/release/10.0.3xx-to-main
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/sdk HEAD:merge/release/10.0.3xx-to-main

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.

DonnaChen888 and others added 30 commits February 3, 2026 16:03
[release/10.0.1xx] Source code updates from dotnet/dotnet
…260203.9

On relative base path root
Microsoft.Testing.Platform From Version 2.1.0-preview.26102.3 -> To Version 2.1.0-preview.26103.9
MSTest From Version 4.1.0-preview.26102.3 -> To Version 4.1.0-preview.26103.9
[release/10.0.1xx] Source code updates from dotnet/dotnet
…260204.5

On relative base path root
Microsoft.Testing.Platform From Version 2.1.0-preview.26103.9 -> To Version 2.1.0-preview.26104.5
MSTest From Version 4.1.0-preview.26103.9 -> To Version 4.1.0-preview.26104.5
- Add ValidateSourceMappingCompatibility method to check for incompatible option combination
- Add CannotUseAddSourceWithSourceMapping error message
- Add test RejectsAdditionalSourceFeedsWhenMappingActive

Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com>
…e overrides

Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com>
Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com>
…260205.1

On relative base path root
Microsoft.Testing.Platform From Version 2.1.0-preview.26104.5 -> To Version 2.1.0-preview.26105.1
MSTest From Version 4.1.0-preview.26104.5 -> To Version 4.1.0-preview.26105.1
Remove redundant second sentence and change "different" to "additional"

Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com>
…260206.5

On relative base path root
Microsoft.Testing.Platform From Version 2.1.0-preview.26105.1 -> To Version 2.1.0-preview.26106.5
MSTest From Version 4.1.0-preview.26105.1 -> To Version 4.1.0-preview.26106.5
Resolve merge conflicts from forward-merge of release/10.0.3xx into main.

Conflict resolution summary:

Deleted-by-us (DU) — accepted deletion for files moved/refactored in release:
- src/BuiltInTools/Watch.Aspire/Program.cs (moved to src/Dotnet.Watch/)
- src/BuiltInTools/Watch/HotReload/HotReloadEventSource.cs (removed)
- test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/DotNetWatchLauncherTests.cs (refactored)
- test/dotnet-watch.Tests/HotReload/ApplyDeltaTests.cs (split into multiple types)
- test/dotnet-watch.Tests/Watch/NoDepsAppTests.cs (refactored)

Updated-by-us (UA) — accepted addition from release:
- src/Dotnet.Watch/Watch/TargetFrameworks.props

Both-updated (UU) — resolved per-file:
- CODEOWNERS: took main's ownership assignments
- eng/Versions.props: removed release stabilization overrides that cleared PreReleaseVersionIteration
- source-build.slnf: kept release's Dotnet.Watch paths, added main's new HotReloadAgent project
- src/Cli/dotnet/Commands/CliCommandStrings.resx and xlf files: restored from main
- src/Containers/Microsoft.NET.Build.Containers.csproj: took main's approach (local VSHostObject.cs, TargetFrameworkIdentifier condition)
- src/Dotnet.Watch/Watch/Context/EnvironmentOptions.cs: kept release's version
- src/Microsoft.DotNet.ProjectTools/Microsoft.DotNet.ProjectTools.csproj: kept both IsPackable (release) and IsAotCompatible (main)
- src/Tasks/.../Microsoft.NET.SupportedTargetFrameworks.props: took main's net10.0 + net11.0 TFMs
- src/WebSdk/Publish/Targets/Microsoft.NET.Sdk.Publish.targets: kept release's VSHostObjectRemoting property with main's net11.0 TFM
- test/HelixTasks/HelixTasks.csproj: kept release's net472 package references
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: kept release's Channel-based rewrite
- Watch test files and dotnet-new integration tests: kept release's code, applied SdkTestContext rename and TestAssetsManager property rename from main

Additional fixes beyond conflict markers:
- Removed orphaned Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost PackageVersion entry (undefined version variable)
- Restored VSHostObject.cs and CreateNewImage*.cs from main for Containers project compatibility
- Updated release-only files (WatchableApp.cs, WatchSdkTest.cs, AspireLauncherTests.cs, TestOptions.cs) to use main's SdkTestContext and TestAssetsManager naming

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

@tmat there were a lot of merge conflicts especially in the watch area. I had copilot iterate building locally fixing the conflicts but not sure how to review that it did teh right thing so pinging you since that seemed to be the largest source of conflicts.

Summary from copilot CLI:
Conflict resolution strategy (merging release/10.0.3xx → main):

  • DU files (deleted in release, updated in main) — accepted deletion for files moved/refactored in release (BuiltInTools/ → Dotnet.Watch/, split tests)
  • UA file (TargetFrameworks.props) — accepted the addition from release
  • UU files — resolved case-by-case, generally keeping release's code structure but applying main's SdkTestContext rename

Key fixes beyond simple conflict resolution:

  1. Removed orphaned Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost package entry with undefined version
  2. Removed duplicate version properties from eng/Versions.props that overrode PreReleaseVersionIteration
  3. Restored XLF/resx files from main (generated files)
  4. Created VSHostObject.cs and restored container files from main
  5. Updated release-branch test files (TestContext → SdkTestContext, _testAssetsManager → TestAssetsManager/TestAssets)

… hardcoded net10.0

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

@marcpopMSFT I fixed one of the tests.

The remaining watch test is related to wasm:

RazorHotReloadTests.BlazorWasm(projectSpecifiesCapabilities: True) ran for over 66 minutes before the blame-hang detector kicked in at the 60-minute timeout. The process tree at the time of the dump was:

   testhost (PID 4216)
    └─ conhost (PID 1396)
    └─ dotnet (PID 2572)
       └─ dotnet (PID 9860)
          └─ dotnet (PID 1172)
             └─ dotnet (PID 8792)

  This is a hang, not a crash — the test was stuck in a deeply nested dotnet process chain (likely dotnet watch → dotnet build → dotnet run for a Blazor WASM app). The blame collector killed the test host
  after the 60-minute inactivity timeout, then dumped all processes.

I'm wondering if it will just work on retry, or if something is broken.

@tmat
Copy link
Member

tmat commented Mar 7, 2026

If you run this script on the test logs you'll get better formatted output:

D:\sdk\scripts> dotnet run format-watch-test-output.cs "https://helixr1107v0xdeko0k025g8.blob.core.windows.net/dotnet-sdk-refs-pull-53288-merge-96c7c9ef68c748eb8f/dotnet-watch.Tests.dll.5/1/console.ac8ad97e.log?helixlogtype=result"

console.ac8ad97e.html

From there you can see the test waiting for process output but not finding it:

[TEST RazorHotReloadTests.cs:44] Waiting for output matching: 'dbug: Microsoft.AspNetCore.Watch.BrowserRefresh.BlazorWasmHotReloadMiddleware[0]'
dotnet watch ⌚ Waiting for changes
[createdump] Writing full dump for process 9148 to file C:\h\w\B3090961\t\274d371c-88ff-431b-a6c2-3ebb5f7ec61b\dotnet_9148_20260307T003747_hangdump.dmp

The output that the test is waiting on was actually produced by the web server but the test called App.Process.ClearOutput(); to clear the output log, so it got removed before the test looked for it. Having the call adds assumption on ordering that's not correct (and not necessary for what we are validating). Removing it should fix it.

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.