pub enum Phase {
DryRun,
Build,
Publish,
Tag,
Dist,
}Expand description
The five coordinator phases, in barrier order (ADR-0002): the derived
PartialOrd/Ord follows declaration order, so DryRun < Build < Publish < Tag < Dist — the order the projection sorts phase records in.
Variants§
DryRun
Dry-run-all: every adapter proves it can publish, nothing lands.
Build
Build-all: every adapter produces its release artifact.
Publish
Publish-all: artifacts are pushed to their registries (point of no return per target — receipts are written per target before the next is tried).
Tag
Tag-once: the coordinator (never an adapter) creates and pushes the tag and the GitHub Release.
Dist
Dist (post-tag finalize): distribution targets whose artifact only exists
after the tag is pushed are finalized here — the Homebrew formula, whose
url is the just-created tag archive, is fetched, hashed, and its .rb
written with the real sha256. Runs after Self::Tag; its Ok
completion is what flips the run to RunStatus::Completed. A cut with no
post-tag target still runs this barrier as a clean no-op so completion is
uniform (ADR-0002 §2, extended by release-engine-cut-cargo-dist-flow).
Implementations§
Source§impl Phase
impl Phase
Sourcepub fn as_str(self) -> &'static str
pub fn as_str(self) -> &'static str
The wire string for this phase (matches the Serialize derive), so text
diagnostics and JSON never drift.
Sourcepub fn is_publish_or_later(self) -> bool
pub fn is_publish_or_later(self) -> bool
Whether this phase is Self::Publish or a later barrier — i.e. a phase in
which a target could have had a publish side-effect on a registry. Written as
an explicit match (not self >= Self::Publish) so that inserting or
reordering a phase forces a deliberate review of this safety predicate rather
than silently changing it through the derived Ord. Used by the resume
reconcile’s “publish phase reached” signal (ADR-0003 §4).
Trait Implementations§
impl Copy for Phase
Source§impl<'de> Deserialize<'de> for Phase
impl<'de> Deserialize<'de> for Phase
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 Phase
Source§impl Ord for Phase
impl Ord for Phase
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Phase
impl PartialOrd for Phase
impl StructuralPartialEq for Phase
Auto Trait Implementations§
impl Freeze for Phase
impl RefUnwindSafe for Phase
impl Send for Phase
impl Sync for Phase
impl Unpin for Phase
impl UnsafeUnpin for Phase
impl UnwindSafe for Phase
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,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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§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.