Skip to content

[ci-scan-feedback] Guard fixer against NativeAOT already-rooted false-fixes #130293

Description

@github-actions

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

Proposed edits

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.

  • #128501 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #104998 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #104750 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #97491 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #78999 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #62435 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #35376 search_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:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

Generated by CI Outer-Loop Failure Scanner — Feedback · ● 11M ·


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 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions