fix(finish): surface real merge errors verbatim, classify non-retryable, re-check landed state after a 5xx #463
No reviewers
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea!463
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-456-merge-error-surface"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
madt_finish and madt_prs action=merge relabeled every merge failure as a generic "transient flake" and auto-retried 4 times, even for permanent errors, and a 5xx that had actually landed server-side was reported as failed - a retry then opened a redundant PR on a branch already in the base.
Three fixes:
The behind-base update path and the try-again-later backoff are unchanged. Adds tests for each non-retryable body (one attempt, verbatim), the 5xx-already-merged path (success, no duplicate, MergePR called once), and the 5xx-transient-still-mergeable path. No auto-merge-on-green (#438) behavior included.
Refs #456