Track CI failures via body island instead of accumulating comments on #37864#38831
Open
jeremymeng wants to merge 2 commits into
Open
Track CI failures via body island instead of accumulating comments on #37864#38831jeremymeng wants to merge 2 commits into
jeremymeng wants to merge 2 commits into
Conversation
Replaces the per-run add-comment approach on #37864 with a bounded list maintained inside a gh-aw replace-island in the issue body. - safe-outputs: drop add-comment; scope update-issue to target 37864 with body updates enabled and max:1. - Known Pre-existing Failures section: parse the tracking island, fetch each linked issue's state, drop entries whose issue is closed (no re-open logic; recurring failures get a fresh issue and a new entry). - Step 6 rewritten to emit one update_issue call per run with operation: replace-island and the reconciled list as body. The framework owns the island markers (gh-aw-island-start:fix-test-failures / gh-aw-island-end:fix-test-failures). - Lock file regenerated via gh aw compile (incidentally bumps the github/gh-aw-actions/setup pin from v0.72.1 to v0.77.5 because that is the gh-aw version installed locally). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the agentic fix-test-failures workflow to track “known pre-existing CI failures” in a bounded body island inside the tracking issue (#37864), instead of accumulating a new tracking comment on every run.
Changes:
- Adds an
update-issuesafe-output scoped to issue #37864 (max 1) with body updates enabled. - Rewrites “Known Pre-existing Failures” logic to parse a gh-aw island from #37864’s body and to reconcile entries based on whether the linked issue is still open.
- Adds “Step 6 — Reconcile the Tracking List” to emit a single
update_issuecall per run usingoperation: replace-island.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .github/workflows/fix-test-failures.md | Switches known-failure tracking from comments to a bounded body island and documents reconciliation + update behavior. |
| .github/workflows/fix-test-failures.lock.yml | Regenerated compiled workflow reflecting the new update_issue safe-output tool and constraints. |
Comment on lines
+69
to
+72
| These markers are managed by the `update-issue` safe output (`operation: | ||
| replace-island`). Content **outside** the island is human-authored and must be | ||
| preserved exactly. If the markers are not present yet (first run), treat the | ||
| tracked list as empty — the framework will create the island on the first update. |
Member
Author
There was a problem hiding this comment.
we can manually add the marker to the issue if this PR is going to be merged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Alternative design for #38823. Addresses the concern that appending a tracking comment to #37864 on every run causes the comment list — and the per-run cost of fetching/parsing it — to grow unbounded.
Approach
Move the tracking record from comments into a bounded list inside the body of #37864, maintained via gh-aw's
update-issuesafe output withoperation: replace-island. The framework owns the island markers (<!-- gh-aw-island-start:fix-test-failures -->/<!-- gh-aw-island-end:fix-test-failures -->), so any human-authored content outside them is preserved.Each entry is a single line:
Reconciliation rule
A failure is "known" only if the linked issue is currently
open.No re-open logic — recurring failures get a brand-new issue rather than reviving a closed one, which is simpler and arguably clearer (the original fix evidently didn't hold).
Changes
add-comment; scopeupdate-issuetotarget: "37864",max: 1, with body updates enabled.update_issuecall per run withoperation: replace-islandand the reconciled list asbody. The agent does NOT write the marker lines — the framework injects them.gh aw compile fix-test-failures. This incidentally bumpsgithub/gh-aw-actions/setupfromv0.72.1→v0.77.5in.github/aw/actions-lock.json(the version pinned by my localgh aw). Recompile with v0.72.1 if you'd rather avoid the version bump in this PR.Why this is better than #38823
GET issuestate checks for historical entries that may never matter again.Trade-offs vs. #38823
status:can be added back toupdate-issueand a small extra rule added to step 2.Packages impacted by this PR
None (workflow/automation change only).