pub struct ReleaseArtifacts {
pub assets: Vec<String>,
pub source_tarball: Option<SourceTarball>,
pub repo_slug: Option<String>,
pub homebrew: Option<HomebrewFormula>,
}Expand description
The concrete release artifacts the coordinator threads from the build phase
into every adapter’s publish (ADR-0002 §2).
The two distribution adapters that repackage already-produced outputs need
inputs no single ecosystem build yields on its own:
binary uploads the asset paths gathered from every
target’s build, and homebrew’s
formula bump needs the published source tarball’s URL + sha256. The
coordinator computes this once, after build-all, and exposes it through
EffectCtx::artifacts. The REAL registry adapters (cargo / python / go)
ignore it — their own CLI finds its artifacts. This is an in-memory
coordinator↔adapter hand-off only: it is never serialized or journaled, so it
carries no schema version of its own.
Fields§
§assets: Vec<String>Built asset/binary paths, aggregated across every target’s build in cut
order — the upload set for the binary / GitHub-Release adapter.
source_tarball: Option<SourceTarball>The published source tarball a downstream formula bump points at, when the
coordinator could resolve it (a GitHub origin remote). None when the
repo has no resolvable GitHub remote.
repo_slug: Option<String>The resolved owner/repo GitHub slug of the cut’s origin remote, when
the coordinator could parse one and the cut carries a GitHub-backed
distribution target (binary or homebrew).
The binary adapter records the GitHub-Release page URL for
this slug as its receipt’s PublishReceipt::remote_url.
None for a cut with no such target or no resolvable GitHub remote.
homebrew: Option<HomebrewFormula>The Homebrew formula inputs the homebrew adapter’s
first-formula bootstrap needs beyond the Self::source_tarball URL +
sha256 — the destination tap and the SPDX license the generated .rb
records. None for a cut with no homebrew target (and always None for
every other adapter, which never reads it). Threaded from the plan by the
coordinator alongside Self::source_tarball.
Trait Implementations§
Source§impl Clone for ReleaseArtifacts
impl Clone for ReleaseArtifacts
Source§fn clone(&self) -> ReleaseArtifacts
fn clone(&self) -> ReleaseArtifacts
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 ReleaseArtifacts
impl Debug for ReleaseArtifacts
Source§impl Default for ReleaseArtifacts
impl Default for ReleaseArtifacts
Source§fn default() -> ReleaseArtifacts
fn default() -> ReleaseArtifacts
impl Eq for ReleaseArtifacts
Source§impl PartialEq for ReleaseArtifacts
impl PartialEq for ReleaseArtifacts
impl StructuralPartialEq for ReleaseArtifacts
Auto Trait Implementations§
impl Freeze for ReleaseArtifacts
impl RefUnwindSafe for ReleaseArtifacts
impl Send for ReleaseArtifacts
impl Sync for ReleaseArtifacts
impl Unpin for ReleaseArtifacts
impl UnsafeUnpin for ReleaseArtifacts
impl UnwindSafe for ReleaseArtifacts
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> 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.