Repository navigation
🐛 Approve toast: outcome in plain words, who merges next, sentinel only while open - #15213
Conversation
…ly while open The dashboard Approve result on hivecommons/dibs#510 read "approved `/lgtm` + `/approve` posted (released: approval-recorded, sentinel-label)" followed by the ⚠ sentinel paragraph it had just cleared and "the merge gate takes it from here; the dashboard merges nothing". The owner: that's a confusing response. - Headline is the outcome: "Approved #510 as @user · sentinel alert cleared by your review". - Next names the concrete step and who merges: hive's merge sweep (with the soak figure), or "merge it on GitHub yourself" on the human-merge lane, or what a person must still do when the sentinel alert is still open. - The ⚠ sentinel paragraph shows only while the alert is still open after the action (sentinel_cleared / sentinel_open on the result). - What was posted (/lgtm, /approve, labels removed) is a muted Posted line. - On Prow-managed repos the relayed /approve from hive's account is not in OWNERS ("NOT APPROVED"): the toast says the approval is recorded in hive and Prow still needs an OWNERS reviewer. Signed-off-by: Andrew Anderson <andy@clubanderson.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Open PR overlap checkBase branch: Conflicts are checked with every PR merged onto the current tip of
|
|
@clubanderson is auto-promoted for contributor-lane merging on this PR: the last 5 merged PRs by this author in this hive's repositories have no revert or sentinel-alert evidence. CI, reviewer verdict, diff fences, soak, holds and branch protection still apply. |
|
Thank you for your contribution! Your PR has been merged. We'd love to hear how your experience was: share feedback |
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
…ed conflicting PRs; dismiss self-inflicted changes_requested (#15104) * 🐛 Activity Monitor: Rebase, then merge as maintainer; autonomous rebase-resolve with loop guard; approve on a dirty PR queues the rebase; dismiss self-inflicted changes_requested Squashed and rebased onto v5 after #15087 and #15074 landed. Fixes #15103 Signed-off-by: Andrew Anderson <andy@clubanderson.com> * test: fix fixtures after the v5 rebase (mock fields, failingEntry rebase fields, import ratchet, window shim) Signed-off-by: Andrew Anderson <andy@clubanderson.com> * test: lift pkg/rebasemerge coverage above its floor; drop an ineffectual assignment Signed-off-by: Andrew Anderson <andy@clubanderson.com> * test: compare the shared singletons through named values (staticcheck SA4000) Signed-off-by: Andrew Anderson <andy@clubanderson.com> * security: rebase-then-merge fails closed on a head the hive did not produce; document the new API shapes The approval is bound to the head the operator read. A contributor PR whose head moves after the click now counts as rebased only when GitHub reports the hive (App bot or pane identity) as the commit's author or committer; any other head settles the follow-through as failed (foreign-head) with nothing merged, a note on the PR, and 'Approve the new head & merge' as the way out. api-reference.md gains the 202 rebase-queued answer, the rebase response field, and the rebase_merge / rebase row fields. Signed-off-by: Andrew Anderson <andy@clubanderson.com> * merge train: hand a dirty member to the fixer's rebase-resolve episode; the exhausted row's rebase-then-merge option goes live v5 landed the conflict-aware merge train (#15157) with a RebaseResolver hook reserved for this PR and a duplicate rebaseMergeFollowThroughLabel. The hook now opens the shared rebase episode (requested_by: merge-train); the mergeNowWired flag and its disabled reason go, since the option it guarded is wired here. Signed-off-by: Andrew Anderson <andy@clubanderson.com> * test: approve toast wording follows #15213 Signed-off-by: Andrew Anderson <andy@clubanderson.com> * rebase onto v5: drop duplicate nonEmptyString, lift STAGE_TRACKER_ICONS for the history badge in the rebase-then-merge row test Signed-off-by: Andrew Anderson <andy@clubanderson.com> * writeback ratchet: baseline the two operator-solicited comments of the rebase-then-merge follow-through Signed-off-by: Andrew Anderson <andy@clubanderson.com> * automerge: superseded question precedes the label block (#15278) while a needs-rebase label on a merely-behind head stays stale Signed-off-by: Andrew Anderson <andy@clubanderson.com> --------- Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Fixes #15212.
After the owner clicked Approve on hivecommons/dibs#510 (a sentinel-alert PR) the toast read "approved⚠️ … a maintainer must review before merge. The merge gate takes it from here; the dashboard merges nothing." — "that's a confusing response".
/lgtm+/approveposted (released: approval-recorded, sentinel-label).What changes
Approved #510 as @clubanderson · sentinel alert cleared by your review.(· sentinel alert still openwhen the label could not come off).Hive's merge sweep merges it on its next pass once CI is green and the head has soaked (≈30 min).— the soak figure is the contributor lane's soak when the approval admitted the head, else the sweep's minimum head age;Hive cannot merge this one (trust or role blocks it): merge it on GitHub yourself, or use Approve & merge as maintainer.;Thesentinel-alertlabel is still on the PR: a maintainer must review the flagged head and take the label off on GitHub before hive's merge sweep will touch it.sentinel_cleared/sentinel_open; the toast drops the row's preface when cleared, keeps it when open, and keeps legacy behaviour (warn from the row) for results without either flag.Posted: /lgtm posted · /approve posted · sentinel-alert label removed), rendered under Next with the new.ham-result-postedrule.approved/size/*/do-not-merge/*/ok-to-test): the relayed/approveis from hive's account, which is not in OWNERS, so Prow says "NOT APPROVED". The toast saysApproval of #510 recorded in hive as @user.and Next starts withProw approval still needs an OWNERS reviewer: ….PullRequestApprovalEvent.ProwManagedis the new signal.Tests:
TestRepoItemApproveResultWording(sentinel released vs still open; lane merges vs human must merge; prow vs non-prow; legacy builder),TestStageTrackerApproveToastSentinelWording(toast element order, warn dropped/kept, Posted line, prow headline),TestProwManagedLabels, and the existing approval test now pinsSentinelLabelOpen/ProwManagedfalse on a cleared non-Prow repo.