You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
pr merge: a SIGTERM during the release wait exits 143 without the document #2624
After the squash merge, devctl pr merge waits for the release (--release-timeout, 30 minutes). A SIGTERM during that wait ends the process with exit 143 and no document on stdout: the caller learns neither that the pull request is merged nor what was still open, and a wrapper has to reconstruct "merged per GitHub, release unconfirmed" from the API by itself.
Observed on 2026-10-09 with giantswarm/agent-platform#878: GitHub merged it at 18:41 CEST; its tag pipeline did not start during CircleCI's incident that evening; at 19:10, within the 30-minute release wait, the caller's hung-merge handling ended devctl with SIGTERM. devctl exited 143 without a document, and the wrapper (the beekeeper merge gate) reported "devctl ended with exit 143 before its document, and GitHub reports the pull request merged: its release is unconfirmed, confirm it with devctl release wait giantswarm/agent-platform --pr 878".
Related: #2623 (the release wait's fixed 30 minutes), #2606 (promote and a candidate without a commit status).
Proposed solution
pr merge catches SIGTERM and SIGINT. After the merge it ends the way the release timeout does: the document on stdout with the merge (merged: true, the merge commit), the release unconfirmed with what was still open and the devctl release wait command that confirms it, exit 9. Before the merge the document says the wait was interrupted and nothing was merged, exit 2. pr wait, release wait and rollout wait end a signal the same way: their document and the timeout's code, never 143.
Acceptance criteria
A SIGTERM to devctl pr merge after the squash merge produces the document (merged, release unconfirmed, what was open, the confirm command) and exit 9.
A SIGTERM before the merge produces the document (nothing merged, interrupted) and exit 2.
pr wait, release wait and rollout wait end a signal with their document and the timeout's code.
The exit-code table in --help names the signal case.
Activity