pub enum ChoiceAction {
Resume {
run: String,
},
ResumeRun {
run: String,
},
ReleaseTask {
task: String,
held_at: Timestamp,
reason: Option<String>,
},
RerunChecks {
repo: PathBuf,
pr: String,
head: String,
runs: Vec<String>,
},
AbandonRun {
run: String,
},
Requeue,
Hold,
Done,
}Expand description
What the daemon does to the task behind a question when a particular choice is answered.
A closed set, attached to a choice by the asker (magi ask --choice X --action X=resume) and matched by the choice’s exact text. Nothing here
is ever derived from the wording of a label or of a free-text answer: a
question without an action for the chosen label does nothing but answer.
Variants§
Resume
Resume this run of the task that owns the question.
ResumeRun
Resume a named execution through the shared driver service.
ReleaseTask
Release only the exact hold the question was filed about.
Fields
RerunChecks
Rerun these failed workflow runs once, on this exact PR head.
Fields
AbandonRun
End a predecessor only after the shared driver judge proves it dead.
Requeue
Requeue the task as a fresh competition.
Hold
Hold the task until the operator releases it.
Done
Close the task as done.
Implementations§
Source§impl ChoiceAction
impl ChoiceAction
Sourcepub fn targets(&self, task: &Task) -> bool
pub fn targets(&self, task: &Task) -> bool
Queue owners affected by a named maintenance action.
Sourcepub fn maintenance(&self) -> bool
pub fn maintenance(&self) -> bool
Maintenance effects are applied exclusively by the daemon.
Sourcepub fn parse(spec: &str, default_run: &str) -> Result<(String, Self)>
pub fn parse(spec: &str, default_run: &str) -> Result<(String, Self)>
Parse a --action value: <label>=<verb>, where the verb is
resume[:<run>], requeue, hold or done. A resume without a run takes
default_run (the asker’s own MAGI_RUN). Returns the label and its
action; whether the label is one of the choices is the caller’s check.
Sourcepub fn matches_alias(&self, input: &str) -> bool
pub fn matches_alias(&self, input: &str) -> bool
Stable aliases for internal recovery, independent of display labels. Other effects still require their offered labels and existing consent.
Trait Implementations§
Source§impl Clone for ChoiceAction
impl Clone for ChoiceAction
Source§impl Debug for ChoiceAction
impl Debug for ChoiceAction
Source§impl<'de> Deserialize<'de> for ChoiceAction
impl<'de> Deserialize<'de> for ChoiceAction
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>,
impl Eq for ChoiceAction
Source§impl PartialEq for ChoiceAction
impl PartialEq for ChoiceAction
Source§impl Serialize for ChoiceAction
impl Serialize for ChoiceAction
impl StructuralPartialEq for ChoiceAction
Auto Trait Implementations§
impl Freeze for ChoiceAction
impl RefUnwindSafe for ChoiceAction
impl Send for ChoiceAction
impl Sync for ChoiceAction
impl Unpin for ChoiceAction
impl UnsafeUnpin for ChoiceAction
impl UnwindSafe for ChoiceAction
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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