Skip to main content

should_release_bump

Function should_release_bump 

Source
pub fn should_release_bump(status: RunStatus) -> bool
Expand description

Does this run’s final status mean the merge this call is downstream of actually happened?

All three of land’s success paths converge on the same signal before crate::graph ever calls into this module: a pull request already merged underneath magi (land::Step::Done { merged: true }), land::Step::Merge’s own gh pr merge succeeding, and the [land::merged_after_all] recovery for a non-zero exit that merged anyway. Every one of them ends land::land with pr.state == PrLifecycle::Merged, which is exactly what graph::Runner::merge reads to set RunStatus::Merged on the run - see the all_three_merge_paths_* tests below for each path’s own evidence. Every path that does not land (a close, Step::GiveUp, an unanswered land_approval, or a gh pr merge failure the forge does not confirm) leaves the run Blocked instead, so this one check is the whole gate a caller needs.