Skip to main content

Crate shipper_types

Crate shipper_types 

Source
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 operation
  • ReleasePlan - Deterministic, SHA256-identified publish plan
  • RuntimeOptions - All runtime configuration options
  • Receipt - Audit receipt with evidence for each published crate
  • PreflightReport - Preflight assessment with finishability verdict
  • PublishPolicy - 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§

AttemptEvidence
Evidence for a single publish attempt.
EnvironmentFingerprint
Fingerprint of the environment where publishing occurred.
ExecutionState
The complete state of an in-progress publish operation.
GenericPublishLevel
A group of packages that can be processed in parallel.
GitContext
Git context at the time of publishing.
PackageEvidence
Evidence collected during package publishing.
PackageProgress
Progress tracking for a single package in an execution.
PackageReceipt
Receipt for a successfully published package.
ParallelConfig
Configuration for parallel publishing.
PlannedPackage
A package in the publish plan.
PlannedWorkspace
The output of shipper::plan::build_plan: a publish plan plus context.
PreflightPackage
Preflight status for a single package.
PreflightReport
Report from preflight verification checks.
PublishEvent
An event in the publish event log.
PublishLevel
A group of packages that can be published in parallel.
ReadinessConfig
Configuration for readiness verification after publishing.
ReadinessEvidence
Evidence for a single readiness check.
Receipt
Complete receipt for a publish operation.
Registry
Represents a Cargo registry for publishing crates.
ReleasePlan
A deterministic, identified plan for publishing a workspace.
ReleaseSpec
Input specification for a crate publish operation.
RuntimeOptions
Runtime configuration options for a Shipper publish operation.
SkippedPackage
A workspace package that was excluded from the publish plan.
StateEventDrift
Report of drift between the authoritative event log and the projected state.

Enums§

AuthType
Authentication method used for publishing.
ErrorClass
Classification of errors encountered during publishing.
EventType
Types of events that can occur during publishing.
ExecutionResult
The result of a publish execution.
Finishability
Whether a preflight-verified publish is guaranteed to succeed.
PackageState
The state of a package in the publish pipeline.
PublishPolicy
Policy presets that control the balance between safety and speed in publishing.
ReadinessMethod
Method for verifying crate visibility after publishing.
ReconciliationOutcome
Outcome of reconciling an ambiguous publish attempt against registry truth.
VerifyMode
Controls when and how cargo verify is run before publishing.

Functions§

deserialize_duration
Deserialize a Duration from either a human-readable string or a millisecond integer.
group_packages_by_levels
Group packages into dependency levels.
serialize_duration
Serialize a Duration as milliseconds (u64) for stable round-tripping.