Crate cyrup_release

Crate cyrup_release 

Source
Expand description

§Cyrup Release

Production-quality release management for Rust workspaces.

This crate provides atomic release operations with proper error handling, automatic internal dependency version synchronization, and rollback capabilities including crate yanking for published packages.

§Features

  • Atomic Operations: All release steps succeed or all rollback
  • Version Synchronization: Automatic internal dependency version management
  • Git Integration: Pure Rust git operations using gix (no CLI dependencies)
  • Resume Capability: Continue interrupted releases from checkpoints
  • Rollback Support: Undo git operations and yank published crates
  • Dependency Ordering: Publish packages in correct dependency order

§Usage

cyrup_release patch          # Bump patch version and publish
cyrup_release minor --dry    # Dry run minor version bump
cyrup_release rollback       # Rollback failed release
cyrup_release resume         # Resume interrupted release

Re-exports§

pub use error::Result;
pub use error::ReleaseError;
pub use workspace::WorkspaceInfo;
pub use workspace::DependencyGraph;
pub use version::VersionBump;
pub use version::VersionManager;
pub use git::GitManager;
pub use git::GitOperations;
pub use publish::Publisher;
pub use workspace::PublishOrder;
pub use state::ReleaseState;
pub use state::StateManager;
pub use cli::Command;
pub use cli::Args;

Modules§

cli
Command line interface for cyrup_release.
error
Comprehensive error types for cyrup_release operations.
git
Git operations and management for release workflows.
publish
Package publishing operations for Cargo workspaces.
state
State management for release operations.
version
Version management for Cargo workspaces.
workspace
Workspace analysis and dependency management.

Structs§

ReleaseManager
Main release orchestrator that coordinates all operations