Skip to main content

CheckStatus

Enum CheckStatus 

Source
pub enum CheckStatus {
    Passed,
    Failed,
    Running,
    Errored,
}
Expand description

What an automated check found about a commit (D49).

Four states and not two. Each one implies a different action, which is the only reason a state earns a variant. “Not finished” is a real answer and the one a caller most needs to distinguish, because the action it implies – wait – differs from both pass and fail. Collapsing it into failure makes every in-flight check look like a broken build; collapsing it into success is worse.

Errored is the durable half of D18’s central claim: a provider fault is not a statement about the commit. choir-queue already refuses to evict a change on one, but until this variant existed the fault could be recorded nowhere, so a re-run was the only way anyone downstream learned it had happened.

Variants§

§

Passed

The check ran and was satisfied.

§

Failed

The check ran and was not satisfied.

§

Running

The check has started and has not reported an outcome.

§

Errored

The check could not be run, so it says nothing about the commit.

A VM that failed to boot, a runner that vanished, a job over its deadline. The distinction from CheckStatus::Failed is not cosmetic: Failed is evidence about the commit and blocks it on its merits, while Errored is evidence about us, and the action it implies is a re-run rather than a rewrite.

Implementations§

Source§

impl CheckStatus

Source

pub fn as_str(self) -> &'static str

The wire spelling, which is also what the CLI accepts.

Source

pub fn parse(raw: &str) -> Option<Self>

Parses the CLI spelling, or None for anything else.

Deliberately not a FromStr impl taking arbitrary case: a check reported as "PASSED" by a runner that upcased its output should be refused loudly rather than accepted into a signed op, because the op is what a later audit reads.

Trait Implementations§

Source§

impl Clone for CheckStatus

Source§

fn clone(&self) -> CheckStatus

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CheckStatus

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for CheckStatus

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for CheckStatus

Source§

fn eq(&self, other: &CheckStatus) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for CheckStatus

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for CheckStatus

Source§

impl Eq for CheckStatus

Source§

impl StructuralPartialEq for CheckStatus

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,