Expand description
§Types
Core domain types for Shipper, including specs, plans, options, receipts, and errors.
This module defines the fundamental data structures used throughout Shipper:
ReleaseSpec- Input specification for a publish operationReleasePlan- Deterministic, SHA256-identified publish planRuntimeOptions- All runtime configuration optionsReceipt- Audit receipt with evidence for each published cratePreflightReport- Preflight assessment with finishability verdictPublishPolicy- Policy presets for safety vs. speed tradeoffs
§Serialization
Most types implement Serialize and Deserialize from serde for
persistence to disk. Durations are serialized as milliseconds for
cross-platform compatibility.
§Stability
These types are considered stable unless otherwise noted. Breaking changes will be documented in the changelog.
Modules§
- schema
- Schema version parsing and compatibility validation for shipper state files.
- storage
- Storage backend configuration types.
Structs§
- Attempt
Evidence - Evidence for a single publish attempt.
- Environment
Fingerprint - Fingerprint of the environment where publishing occurred.
- Execution
State - The complete state of an in-progress publish operation.
- Generic
Publish Level - A group of packages that can be processed in parallel.
- GitContext
- Git context at the time of publishing.
- Package
Evidence - Evidence collected during package publishing.
- Package
Progress - Progress tracking for a single package in an execution.
- Package
Receipt - Receipt for a successfully published package.
- Parallel
Config - Configuration for parallel publishing.
- Planned
Package - A package in the publish plan.
- Planned
Workspace - The output of
shipper::plan::build_plan: a publish plan plus context. - Preflight
Package - Preflight status for a single package.
- Preflight
Report - Report from preflight verification checks.
- Publish
Event - An event in the publish event log.
- Publish
Level - A group of packages that can be published in parallel.
- Readiness
Config - Configuration for readiness verification after publishing.
- Readiness
Evidence - Evidence for a single readiness check.
- Receipt
- Complete receipt for a publish operation.
- Registry
- Represents a Cargo registry for publishing crates.
- Release
Plan - A deterministic, identified plan for publishing a workspace.
- Release
Spec - Input specification for a crate publish operation.
- Runtime
Options - Runtime configuration options for a Shipper publish operation.
- Skipped
Package - A workspace package that was excluded from the publish plan.
- State
Event Drift - Report of drift between the authoritative event log and the projected state.
Enums§
- Auth
Type - Authentication method used for publishing.
- Error
Class - Classification of errors encountered during publishing.
- Event
Type - Types of events that can occur during publishing.
- Execution
Result - The result of a publish execution.
- Finishability
- Whether a preflight-verified publish is guaranteed to succeed.
- Package
State - The state of a package in the publish pipeline.
- Publish
Policy - Policy presets that control the balance between safety and speed in publishing.
- Readiness
Method - Method for verifying crate visibility after publishing.
- Reconciliation
Outcome - Outcome of reconciling an ambiguous publish attempt against registry truth.
- Verify
Mode - Controls when and how
cargo verifyis run before publishing.
Functions§
- deserialize_
duration - Deserialize a
Durationfrom either a human-readable string or a millisecond integer. - group_
packages_ by_ levels - Group packages into dependency levels.
- serialize_
duration - Serialize a
Durationas milliseconds (u64) for stable round-tripping.