You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This tick adds one guard to the fixer prompt so the active Apple NativeAOT test-enablement wave does not draw a repeat of a rooting "fix" that reviewers have already rejected as a no-op.
.github/workflows/ci-failure-fix.md (Step 5.2, line 204) — add a "NativeAOT already-rooted caution" paragraph: when a NativeAOT leg fails with a run-time-missing type/assembly/method, do not propose rooting the test assembly or its members ([DynamicDependency], .rd.xml / ILLink.Descriptors.xml roots, TrimmerRootAssembly, bundle-copy); the harness already roots test assemblies, so the diff is a no-op reviewers reject. Instead pin a product-side root cause or route to Branch COMMENT (Step 5.5). Rationale: directly encodes the [ci-fix] Needs review: root CustomAttributeDecoderTests enum types for Apple-mobile trimming (refs #128450) #130106 rejection so it is not repeated across the [mobile] Enable NativeAOT library tests on Apple mobile platforms #125437 wave.
Expected behavior change
The next fixer run will no longer open a [ci-fix] PR whose diff merely roots an already-rooted NativeAOT test assembly. For the Apple AllSubsets_NativeAOT run-time-missing failures now dominating new KBEs, it will either pin a concrete product-side cause or fall back to a loop-in comment — avoiding the specific false-fix a maintainer already rejected on #130106.
Note
🔒 Integrity filter blocked 7 items
The following items were blocked because they don't meet the GitHub integrity level.
#128501search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#104998search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#104750search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#97491search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#78999search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#62435search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#35376search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
The patch file is available in the agent artifact in the workflow run linked above.
To create a pull request with the changes:
# Download the artifact from the workflow run
gh run download 28859878657 -n agent -D /tmp/agent-28859878657
# Create a new branch
git checkout -b ci-scan-feedback-20260707-nativeaot-rooting-guard-820b6ee12f941bf9
# Apply the patch (--3way handles cross-repo patches where files may already exist)
git am --3way /tmp/agent-28859878657/aw-ci-scan-feedback-20260707-nativeaot-rooting-guard.patch
# Push the branch to origin
git push origin ci-scan-feedback-20260707-nativeaot-rooting-guard-820b6ee12f941bf9
# Create the pull request
gh pr create --title '[ci-scan-feedback] Guard fixer against NativeAOT already-rooted false-fixes' --base main --head ci-scan-feedback-20260707-nativeaot-rooting-guard-820b6ee12f941bf9 --repo dotnet/runtime
Show patch preview (36 of 36 lines)
From 4242397ebe3fc8e9bb065715c2307128c4c81c12 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Tue, 7 Jul 2026 11:09:33 +0000
Subject: [PATCH] [ci-scan-feedback] Guard fixer against NativeAOT
already-rooted false-fixes
Adds a caution to ci-failure-fix.md Step 5.2 so the fixer does not propose
rooting a test assembly (DynamicDependency / .rd.xml / TrimmerRootAssembly)
to resolve a NativeAOT 'missing type/assembly/method at run time' failure --
test assemblies are already rooted by the harness, so the change is a no-op.
Route such cases to a loop-in comment instead. Motivated by the maintainer
rejection of help-wanted PR #130106 and timely for the active Apple NativeAOT
(#125437) rollout now generating this failure shape (#130253/#130254/#130278).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.github/workflows/ci-failure-fix.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/ci-failure-fix.md b/.github/workflows/ci-failure-fix.md
index 21694c7d..bc073622 100644
--- a/.github/workflows/ci-failure-fix.md+++ b/.github/workflows/ci-failure-fix.md@@ -201,6 +201,8 @@ codegen-stress failures. No fix or workaround PR is in bounds for them.
Always try to produce a real candidate change first. Read every file you would modify at `HEAD`, work out the minimal correct change (e.g. wrong expected value in a test, missing `using`, wrong cast, missing `#if`, off-by-one in test setup, a missing platform guard that *enables* correct behavior rather than disabling the test), and stage it. If the change reduces to "do what the source already does", there is nothing to fix -> record `-> skipped: candidate fix already present in source`.
+**NativeAOT already-rooted caution.** When the failing leg is a NativeAOT run (e.g. Apple `AllSubsets_NativeAOT`) and the symptom is a type, assembly, or method *missing at run time* (a `FileNotFoundException` for a `*.TestAssembly.dll`,
... (truncated)
This tick adds one guard to the fixer prompt so the active Apple NativeAOT test-enablement wave does not draw a repeat of a rooting "fix" that reviewers have already rejected as a no-op.
Triggering signals
[ci-fix]PR, closed unmerged 2026-07-02) — MichalStrehovsky (MEMBER) rejected the proposed NativeAOT rooting change: the diff rooted a test assembly to resolve a run-time-missing symptom, but "the entire test assembly is already rooted by default," so the change was a no-op; the real failure had already been resolved by product PR [ci-scan] Test failure: CustomAttributeDecoderTests.TestCustomAttributeDecoderGenericUsingReflection on maccatalyst #128450. [ci-fix] Needs review: root CustomAttributeDecoderTests enum types for Apple-mobile trimming (refs #128450) #130106[ci-scan]KBEs on theiossimulator/maccatalystAllSubsets_NativeAOTlegs ([ci-scan] Apple NativeAOT test harness crash: mono_ios_set_summary requires marshalling not yet supported by ILC #130219, [ci-scan] Test failure: System.Diagnostics.Tests.FileVersionInfoTest.FileVersionInfo_CustomManagedAssembly on Apple NativeAOT #130253, [ci-scan] Test failure: Microsoft.Extensions.Hosting.Tests.HostTests.CreateDefaultBuilder_RegistersEventSourceLogger on Apple Na [Content truncated due to length] #130254, [ci-scan] Test failure: System.Net.Tests.HttpResponseStreamTests.Write_ContentToClosedConnectionSynchronously_ThrowsHttpListener [Content truncated due to length] #130278). [ci-scan] Test failure: System.Diagnostics.Tests.FileVersionInfoTest.FileVersionInfo_CustomManagedAssembly on Apple NativeAOT #130253's symptom is a literalFileNotFoundException: ...TestAssembly.dll— exactly the shape that tempts the already-rejected rooting false-fix, so the fixer is likely to re-attempt it without a guard. [ci-scan] Test failure: System.Diagnostics.Tests.FileVersionInfoTest.FileVersionInfo_CustomManagedAssembly on Apple NativeAOT #130253Proposed edits
.github/workflows/ci-failure-fix.md(Step 5.2, line 204) — add a "NativeAOT already-rooted caution" paragraph: when a NativeAOT leg fails with a run-time-missing type/assembly/method, do not propose rooting the test assembly or its members ([DynamicDependency],.rd.xml/ILLink.Descriptors.xmlroots,TrimmerRootAssembly, bundle-copy); the harness already roots test assemblies, so the diff is a no-op reviewers reject. Instead pin a product-side root cause or route to Branch COMMENT (Step 5.5). Rationale: directly encodes the [ci-fix] Needs review: root CustomAttributeDecoderTests enum types for Apple-mobile trimming (refs #128450) #130106 rejection so it is not repeated across the [mobile] Enable NativeAOT library tests on Apple mobile platforms #125437 wave.Expected behavior change
The next fixer run will no longer open a
[ci-fix]PR whose diff merely roots an already-rooted NativeAOT test assembly. For the AppleAllSubsets_NativeAOTrun-time-missing failures now dominating new KBEs, it will either pin a concrete product-side cause or fall back to a loop-in comment — avoiding the specific false-fix a maintainer already rejected on #130106.Note
🔒 Integrity filter blocked 7 items
The following items were blocked because they don't meet the GitHub integrity level.
search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter:Note
This was originally intended as a pull request, but the git push operation failed.
Workflow Run: View run details and download patch artifact
The patch file is available in the
agentartifact in the workflow run linked above.To create a pull request with the changes:
Show patch preview (36 of 36 lines)