pub struct PendingBump {
pub target_version: String,
pub level: BumpLevel,
pub branch: String,
pub pr_url: String,
}Expand description
magi’s own record of a bump pull request it currently has open, so a burst of merges in quick succession does not each open a competing release.
Chosen policy: serialize, not coalesce two independent decisions into
one. A bump branch touches only Cargo.toml / Cargo.lock, so gh pr merge --squash applies it onto whatever the base branch has become by
the time it lands - every commit merged while it was open rides along
for free, at no extra cost, once it merges. But the digit a still-open
pull request targets was judged from only the first change, and a more
severe change landing while it waits must not ship at the smaller digit
just because it arrived second - so the serialization is at the pull
request, not at the judgement: a later, more severe decision escalates
the same open pull request (see pending_action) rather than opening a
second one or being silently absorbed at the wrong digit.
Fields§
§target_version: StringThe version the open pull request bumps to.
level: BumpLevelThe digit that version was judged to need, so a later, more severe merge can tell it needs to escalate rather than assume it is covered.
branch: StringThe branch the open pull request is built from, so an escalation knows what to check out and push to.
pr_url: StringThe pull request’s URL, so a later merge can confirm it is still open before trusting it to block a fresh decision.
Trait Implementations§
Source§impl Clone for PendingBump
impl Clone for PendingBump
Source§fn clone(&self) -> PendingBump
fn clone(&self) -> PendingBump
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PendingBump
impl Debug for PendingBump
Source§impl<'de> Deserialize<'de> for PendingBump
impl<'de> Deserialize<'de> for PendingBump
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for PendingBump
impl RefUnwindSafe for PendingBump
impl Send for PendingBump
impl Sync for PendingBump
impl Unpin for PendingBump
impl UnsafeUnpin for PendingBump
impl UnwindSafe for PendingBump
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more