pub struct BuildTaskPayload {
pub task_id: String,
pub attempt: u32,
pub crate_name: CrateName,
pub version: CrateVersion,
pub features_json: FeaturesJson,
pub target: TargetTriple,
pub rustc_version: WireRustcVersion,
pub preserve_lockfile: bool,
}Expand description
The task the scheduler dispatches to stow-build, carried verbatim as the
workflow_dispatch input of the trusted build workflow.
Simple: just crate + target. CI figures out features/deps via cargo metadata.
Fields§
§task_id: StringOpaque scheduler task identifier (blake3 of identity tuple).
attempt: u32Which queue attempt this dispatch carries. The scheduler bumps a
row’s attempt every time a re-request resurrects it out of
failed/completed, and complete only applies a report whose attempt
matches the row’s live one — a stale or duplicate report is a
conflict, never a silent overwrite of a newer attempt’s state.
Defaults to 0 so a payload serialized before the field existed still
decodes; attempt 0 matches no row (attempts start at 1), so such a
report is rejected rather than applied blindly.
crate_name: CrateNameCrate name as known to crates.io.
version: CrateVersionExact crate version to build.
features_json: FeaturesJsonCanonicalized features list (sorted, deduplicated).
target: TargetTripleCompilation target triple.
rustc_version: WireRustcVersionStable rustc version (e.g. "1.83.0").
preserve_lockfile: boolWhen true, the trusted build runner keeps the bundled Cargo.lock from
the crates.io tarball instead of removing it. Used by the top-binaries
preheat (stow-admin preheat top-binaries) so transitive c_metadata
matches what cargo install --locked <bin> would produce on the user’s
machine. Defaults to false to preserve the historical “build against
latest semver-compatible deps” behavior for library preheats.
Trait Implementations§
Source§impl Clone for BuildTaskPayload
impl Clone for BuildTaskPayload
Source§impl ComposeSchema for BuildTaskPayload
impl ComposeSchema for BuildTaskPayload
Source§impl Debug for BuildTaskPayload
impl Debug for BuildTaskPayload
Source§impl<'de> Deserialize<'de> for BuildTaskPayload
impl<'de> Deserialize<'de> for BuildTaskPayload
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 BuildTaskPayload
Source§impl PartialEq for BuildTaskPayload
impl PartialEq for BuildTaskPayload
Source§impl Serialize for BuildTaskPayload
impl Serialize for BuildTaskPayload
impl StructuralPartialEq for BuildTaskPayload
Auto Trait Implementations§
impl Freeze for BuildTaskPayload
impl RefUnwindSafe for BuildTaskPayload
impl Send for BuildTaskPayload
impl Sync for BuildTaskPayload
impl Unpin for BuildTaskPayload
impl UnsafeUnpin for BuildTaskPayload
impl UnwindSafe for BuildTaskPayload
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§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.