Skip to content

[release/10.0] Rework and enable Wasm.Build.Tests.Blazor.AssetCachingTests#123883

Merged
lewing merged 8 commits intorelease/10.0from
backport/pr-123388-to-release/10.0
Feb 11, 2026
Merged

[release/10.0] Rework and enable Wasm.Build.Tests.Blazor.AssetCachingTests#123883
lewing merged 8 commits intorelease/10.0from
backport/pr-123388-to-release/10.0

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Feb 2, 2026

Backport of #123388 to release/10.0

Backports fix for a Blazor Wasm test that has been flaky due to a race condition in retrieving logs from a test server application. The fixed test has 100% success rate on main in the last ~14 days since merging the fix.

/cc @oroztocil

Customer Impact

  • Customer reported
  • Found internally

Both the issue and this fix are related only to tests. No shipped code is impacted.

Regression

  • Yes
  • No

This is a fix for a test created as part of .NET 10 servicing.

Testing

The fixed tests were executed locally and monitored in CI. The fixed test has 100% success rate on main. On release/10.0 without the fix it has failed twice.

Risk

Low. No shipped code is impacted.

Copy link
Contributor

Copilot AI commented Feb 2, 2026

@oroztocil I've opened a new pull request, #123902, to work on those changes. Once the pull request is ready, I'll request review from you.

oroztocil added a commit that referenced this pull request Feb 2, 2026
…ckport branch (#123902)

main PR #123883

# Description

Reverts TargetFramework from `net11.0` to `net10.0` in BlazorWebWasm
test applications for the release/10.0 backport branch.

**Changed files:**
-
`src/mono/wasm/testassets/BlazorWebWasm/BlazorWebWasm/BlazorWebWasm.csproj`
-
`src/mono/wasm/testassets/BlazorWebWasm/BlazorWebWasm.Client/BlazorWebWasm.Client.csproj`

Both projects incorrectly targeted net11.0 when they should target
net10.0 for the backport.

# Customer Impact

No customer impact. This is a test infrastructure fix.

# Regression

No. Corrects targeting in test assets for
Wasm.Build.Tests.Blazor.AssetCachingTests.

# Testing

Test assets now correctly target the framework version matching the
release branch.

# Risk

Minimal. Changes only affect test project configurations, not shipped
code.

<!-- START COPILOT CODING AGENT TIPS -->
---

💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: oroztocil <[email protected]>
@lewing lewing added the Servicing-approved Approved for servicing release label Feb 3, 2026
@lewing
Copy link
Member

lewing commented Feb 3, 2026

test only change

@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

oroztocil and others added 8 commits February 4, 2026 13:56
Co-authored-by: Copilot <[email protected]>
…ckport branch (#123902)

main PR #123883

# Description

Reverts TargetFramework from `net11.0` to `net10.0` in BlazorWebWasm
test applications for the release/10.0 backport branch.

**Changed files:**
-
`src/mono/wasm/testassets/BlazorWebWasm/BlazorWebWasm/BlazorWebWasm.csproj`
-
`src/mono/wasm/testassets/BlazorWebWasm/BlazorWebWasm.Client/BlazorWebWasm.Client.csproj`

Both projects incorrectly targeted net11.0 when they should target
net10.0 for the backport.

# Customer Impact

No customer impact. This is a test infrastructure fix.

# Regression

No. Corrects targeting in test assets for
Wasm.Build.Tests.Blazor.AssetCachingTests.

# Testing

Test assets now correctly target the framework version matching the
release branch.

# Risk

Minimal. Changes only affect test project configurations, not shipped
code.

<!-- START COPILOT CODING AGENT TIPS -->
---

💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: oroztocil <[email protected]>
@lewing
Copy link
Member

lewing commented Feb 11, 2026

/ba-g ci timed out but helix shows they all passed

@lewing lewing merged commit 7fb0240 into release/10.0 Feb 11, 2026
23 of 25 checks passed
lewing added a commit that referenced this pull request Feb 12, 2026
…on guides (#124240)

## ci-analysis: structured output, MCP integration, and deep
investigation guides

### Changes to `Get-CIStatus.ps1` (+216/-132)
- **Add `[CI_ANALYSIS_SUMMARY]` JSON block** — structured summary
emitted at end of script with all key facts (builds, failed jobs, known
issues, PR correlation, recommendation hint)
- **Replace 47-line if/elseif recommendation chain** with a single
`recommendationHint` field in JSON (one of: `BUILD_SUCCESSFUL`,
`KNOWN_ISSUES_DETECTED`, `LIKELY_PR_RELATED`, `POSSIBLY_TRANSIENT`,
`REVIEW_REQUIRED`, `MERGE_CONFLICTS`, `NO_BUILDS`)
- **Add `failedJobDetails` to JSON** — per-job `errorCategory`
(test-failure, build-error, test-timeout, crash,
tests-passed-reporter-failed, unclassified), `errorSnippet`, and
`helixWorkItems`
- **Add `failedJobDetailsTruncated`** — boolean flag indicating when
`-MaxJobs` cap means `failedJobDetails` is incomplete vs
`failedJobNames`
- **Add top-level `knownIssues`** from Build Analysis (not per-job —
Build Analysis reports at the PR level, not per-job)
- **Add timeout pattern** to `Format-TestFailure` — catches `Timed Out
(timeout` that was previously invisible
- **Show log tail in PR mode** when no failure pattern matches (Helix
Job mode already did this)
- **Add accumulation variables** for cross-build aggregation
(`totalFailedJobs`, `totalLocalFailures`, `lastBuildJobSummary`)
- **Fix early-continue scoping bug** — job summary computation was at
end of build loop, after 3 `continue` paths that skipped it
- **Fix empty array falsy check** — `if ($listFiles)` → proper count
check
- **Fix `mergeable_state` trimming** — `gh api --jq` output trimmed to
prevent whitespace comparison failures
- **Remove interpretive prose** — "These failures are likely PR-related"
moved from script to agent reasoning
- **Fix empty catch** — merge state error now logged via `Write-Verbose`

### Changes to `SKILL.md` (+97/-144, net reduction)
- **Add Step 0: Gather Context** — PR type classification table (code,
flow, backport, merge, dependency update)
- **Add Step 3: Verify before claiming** — systematic checklist
- **Add build progression analysis** (Step 2, item 4) — comparing
pass/fail across PR builds to narrow down which commit introduced a
failure
- **Add prior-build mismatch detection** (Step 2, item 6) — ask user
when they reference jobs not in current results
- **Document `failedJobDetails`** — per-failure error categories in
Interpreting Results
- **Add Build Analysis check status enforcement** — red check means
unaccounted failures exist, never claim "all known" when it's red
- **Add timeout recovery workflow** — explicit guidance for verifying
timed-out builds have passing Helix results via `hlx_status`
- **Add crash/canceled job recovery procedure** — step-by-step using
`hlx_batch_status`, `hlx_files`, `hlx_download_url` to recover results
from crashed Helix work items
- **Fix MCP tool references** — use canonical short-form tool names
consistently
- **Condense anti-patterns** — tighter, more targeted, near relevant
steps
- **Net token reduction** — despite adding new content, SKILL.md shrank
from ~4.6K to ~3.5K tokens

### New reference files
- `references/azure-cli.md` — Azure CLI deep investigation guide
- `references/binlog-comparison.md` — binlog comparison workflow
- `references/delegation-patterns.md` — subagent delegation patterns (5
patterns including parallel artifact extraction and canceled job
recovery)
- `references/build-progression-analysis.md` — commit-to-build
correlation using `triggerInfo.pr.sourceSha`, SQL-based progression
tracking, MCP-first with AzDO MCP tools as primary

### Updated reference files
- `references/manual-investigation.md` — fix nonexistent `msbuild-mcp
analyze` tool refs, use real `mcp-binlog-tool-*` tools

### Design principles
- **Data/reasoning boundary**: Script emits structured JSON facts →
agent synthesizes recommendations. No more canned prose from the script.
- **MCP-first**: AzDO MCP tools (`get_builds`, `get_build_log_by_id`)
and Helix MCP tools (`hlx_status`, `hlx_logs`) positioned as primary,
CLI/script as fallback.
- **Token budget**: Orchestrating SKILL.md kept within 2K-4K token
budget by extracting depth to `references/`.
- **SQL for structured investigations**: Build progression tracking uses
SQL tables to persist SHAs across context, enabling queries for
pass→fail transitions and target branch movement.

### Testing
- Multi-model subagent testing (Sonnet 4 + GPT-5 + Opus 4.5) — two
review rounds with findings addressed
- Live MCP integration test confirmed `hlx_status`, `hlx_logs`,
`get_builds`, `get_build_log_by_id` all work
- Real-world validation against PRs #123245, #123883, #124125, #124232
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-Infrastructure Servicing-approved Approved for servicing release

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants