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 releaseRe-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§
- Release
Manager - Main release orchestrator that coordinates all operations