Skip to content

[release/11.0-preview1] Revert [browser] Use Runtime=NET for build tasks#123974

Merged
lewing merged 2 commits intodotnet:release/11.0-preview1from
lewing:backport-revert-wasm-sdk-123304-preview1
Feb 4, 2026
Merged

[release/11.0-preview1] Revert [browser] Use Runtime=NET for build tasks#123974
lewing merged 2 commits intodotnet:release/11.0-preview1from
lewing:backport-revert-wasm-sdk-123304-preview1

Conversation

@lewing
Copy link
Member

@lewing lewing commented Feb 3, 2026

Backport of #123973 to release/11.0-preview1. See that PR for full details.

Reverts PR #123304 - the Runtime=NET feature for UsingTask is only supported with SDK-style projects and caused Blazor test failures.

@lewing lewing requested a review from akoeplinger as a code owner February 3, 2026 22:55
Copilot AI review requested due to automatic review settings February 3, 2026 22:55
@lewing lewing requested a review from maraf as a code owner February 3, 2026 22:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR backports the revert of #123304 from the main branch to release/11.0-preview1. The original change attempted to modernize the WebAssembly SDK pack tasks by using MSBuild's Runtime="NET" attribute and simplifying the NuGet package layout, but this caused Blazor test failures because the Runtime="NET" feature is only supported with SDK-style projects.

Changes:

  • Restores multi-targeting (net11.0 + net472) for Microsoft.NET.Sdk.WebAssembly.Pack.Tasks
  • Restores MSBuildRuntimeType-based TFM selection and TaskHostFactory usage in UsingTask declarations
  • Updates in-tree build configurations to restore TFM-specific paths

Reviewed changes

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

File Description
src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj Restores multi-targeting to $(NetCoreAppToolCurrent);$(NetFrameworkToolCurrent) and updates GetFilesToPackage target to place assemblies in TFM-specific subdirectories
src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets Restores _WebAssemblySdkTasksTFM property with MSBuildRuntimeType-based selection and replaces Runtime="NET" with TaskFactory="TaskHostFactory" in UsingTask declarations
src/mono/browser/build/WasmApp.InTree.props Updates in-tree tools directory path to remove $(NetCoreAppToolCurrent) subdirectory, restoring TFM-based structure
eng/testing/linker/trimmingTests.targets Updates WasmSdkPackTasksPath placeholder to remove $(NetCoreAppToolCurrent) subdirectory from path

@lewing lewing enabled auto-merge (squash) February 3, 2026 23:13
@lewing
Copy link
Member Author

lewing commented Feb 4, 2026

/ba-g required revert to fix failing task

@akoeplinger
Copy link
Member

required to fix a blocking issue, adding servicing-approved

@akoeplinger akoeplinger added the Servicing-approved Approved for servicing release label Feb 4, 2026
@lewing lewing merged commit b027ccb into dotnet:release/11.0-preview1 Feb 4, 2026
165 of 169 checks passed
lewing added a commit that referenced this pull request Feb 7, 2026
## Summary

Adds a new Copilot Agent Skill (`.github/skills/vmr-codeflow-status/`)
that automates analysis of VMR codeflow PR health for dotnet
repositories. Handles both backflow (VMR → product repos) and forward
flow (product repos → VMR).

### What it does

**PR Analysis Mode:**
1. **Parses PR metadata** — Extracts VMR commit, subscription ID, build
info from the PR body
2. **Validates snapshot** — Cross-references PR body commit against
branch "Backflow from" commit messages to detect stale metadata
3. **Checks freshness** — Compares PR's snapshot against the current
source branch HEAD, showing how many commits behind and which repos have
updates
4. **Shows pending forward flow** — For behind backflow PRs, finds open
forward flow PRs that would close part of the freshness gap
5. **Detects staleness & conflicts** — Finds Maestro "codeflow cannot
continue" warnings and "Conflict detected" messages (with conflicting
files and resolve commands)
6. **Analyzes PR commits** — Categorizes commits as auto-updates vs
manual (which would be lost on close/force-trigger)
7. **Traces fixes** (optional) — Checks if a specific fix PR has flowed
through VMR into the codeflow PR
8. **Recommends actions** — Suggests force trigger, close/reopen, merge
as-is, resolve conflicts, or wait, with ready-to-use darc commands

**Missing Backflow Mode:**
- Discovers all branches with backflow subscriptions by examining
recently merged PRs
- Compares VMR branch HEAD against the last merged backflow commit
- Flags branches where the VMR has moved but no new backflow PR exists
- Warns when Maestro may be stuck (>6 hours since last merge with VMR
ahead)

### Example Prompts

- "check the codeflow status of dotnet/sdk#52727"
- "is #124098 up to date with the VMR?"
- "has the runtime revert in #123974 reached the codeflow
PR dotnet/sdk#52727?"
- "why is this codeflow PR blocked?"
- "are there any missing backflow PRs for dotnet/roslyn?"
- "report on the codeflow status for dotnet/aspnetcore"
- "what forward flow PRs are pending for the preview1 VMR branch?"

### Motivation

Investigating stale codeflow PRs is a common and tedious task — checking
VMR freshness, finding staleness warnings, tracing whether specific
fixes have flowed through. This skill automates the entire workflow and
provides actionable darc commands.

Tested against 10+ codeflow PRs across dotnet/sdk, dotnet/runtime,
dotnet/roslyn, dotnet/aspnetcore, and dotnet/dotnet on multiple branches
(main, preview1, release/10.0.x).

### Files

- `SKILL.md` — Skill definition with frontmatter (matching existing
skills in this repo)
- `scripts/Get-CodeflowStatus.ps1` — Main analysis script (~750 lines)
- `references/vmr-codeflow-reference.md` — Reference docs (VMR concepts,
darc CLI, API endpoints)
lewing added a commit to lewing/runtime that referenced this pull request Feb 9, 2026
## Summary

Adds a new Copilot Agent Skill (`.github/skills/vmr-codeflow-status/`)
that automates analysis of VMR codeflow PR health for dotnet
repositories. Handles both backflow (VMR → product repos) and forward
flow (product repos → VMR).

### What it does

**PR Analysis Mode:**
1. **Parses PR metadata** — Extracts VMR commit, subscription ID, build
info from the PR body
2. **Validates snapshot** — Cross-references PR body commit against
branch "Backflow from" commit messages to detect stale metadata
3. **Checks freshness** — Compares PR's snapshot against the current
source branch HEAD, showing how many commits behind and which repos have
updates
4. **Shows pending forward flow** — For behind backflow PRs, finds open
forward flow PRs that would close part of the freshness gap
5. **Detects staleness & conflicts** — Finds Maestro "codeflow cannot
continue" warnings and "Conflict detected" messages (with conflicting
files and resolve commands)
6. **Analyzes PR commits** — Categorizes commits as auto-updates vs
manual (which would be lost on close/force-trigger)
7. **Traces fixes** (optional) — Checks if a specific fix PR has flowed
through VMR into the codeflow PR
8. **Recommends actions** — Suggests force trigger, close/reopen, merge
as-is, resolve conflicts, or wait, with ready-to-use darc commands

**Missing Backflow Mode:**
- Discovers all branches with backflow subscriptions by examining
recently merged PRs
- Compares VMR branch HEAD against the last merged backflow commit
- Flags branches where the VMR has moved but no new backflow PR exists
- Warns when Maestro may be stuck (>6 hours since last merge with VMR
ahead)

### Example Prompts

- "check the codeflow status of dotnet/sdk#52727"
- "is dotnet#124098 up to date with the VMR?"
- "has the runtime revert in dotnet#123974 reached the codeflow
PR dotnet/sdk#52727?"
- "why is this codeflow PR blocked?"
- "are there any missing backflow PRs for dotnet/roslyn?"
- "report on the codeflow status for dotnet/aspnetcore"
- "what forward flow PRs are pending for the preview1 VMR branch?"

### Motivation

Investigating stale codeflow PRs is a common and tedious task — checking
VMR freshness, finding staleness warnings, tracing whether specific
fixes have flowed through. This skill automates the entire workflow and
provides actionable darc commands.

Tested against 10+ codeflow PRs across dotnet/sdk, dotnet/runtime,
dotnet/roslyn, dotnet/aspnetcore, and dotnet/dotnet on multiple branches
(main, preview1, release/10.0.x).

### Files

- `SKILL.md` — Skill definition with frontmatter (matching existing
skills in this repo)
- `scripts/Get-CodeflowStatus.ps1` — Main analysis script (~750 lines)
- `references/vmr-codeflow-reference.md` — Reference docs (VMR concepts,
darc CLI, API endpoints)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-Build-mono Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants