phase-pr pushes a card-only commit after a red verdict, so a false red leaves a green head under a ci_failed card #592
Labels
No labels
agent-ready
bug
contract
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-human
needs-input
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli#592
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Found during IW-491 (phase 2 left it out of scope).
After a red verdict,
PhasePr.stop(core/commands/PhasePr.scala:535-558) callspersist, which commits and pushes the card. That push makes a new head, and CI runs again on it. When the red was false (a flaky job), the new head goes green, but the card still saysci_failed. Seen on IW-583, run 890.IW-491 phase 2 already removed the same push from the green path: after green,
phase-prwrites the card to disk and does not commit or push it.PROPOSED FIX. Do the same on the red and stop path: write the card, do not push it. Check first that
batch-implementandphase-mergestill read a dirtyci_failedcard correctly.Closed as a duplicate of #601, which takes this defect and three others as one investigation on one branch. This one is phase 2 there.
The four share a cause: the card and the CI reading do not agree on which head they speak about. Fixing them apart would read the same code four times.