Skip to main content

anza_xtask/
lib.rs

1//! Anza XTask - Shared CI/CD automation library
2//!
3//! This library provides common operations for Rust workspace management,
4//! release automation, and CI/CD workflows across Anza repositories.
5//!
6//! # Examples
7//!
8//! ## Computing publish order
9//!
10//! ```no_run
11//! use anza_xtask::commands::publish::compute_publish_order_data;
12//!
13//! let order = compute_publish_order_data("Cargo.toml").unwrap();
14//!
15//! println!("Publish order:");
16//! for (level, packages) in order.levels.iter().enumerate() {
17//!     println!("Level {}: {:?}", level, packages);
18//! }
19//! ```
20//!
21//! ## Bumping version
22//!
23//! ```no_run
24//! use anza_xtask::commands::bump_version::{bump_version, BumpLevel};
25//! use semver::Version;
26//!
27//! let current = Version::parse("1.2.3").unwrap();
28//! let new = bump_version(&BumpLevel::Minor, &current).unwrap();
29//! assert_eq!(new, Version::parse("1.3.0").unwrap());
30//! ```
31
32pub mod buildkite;
33pub mod commands;
34pub mod utils;
35
36pub use commands::{bump_version, publish, update_crate};
37pub use semver::Version;
38
39pub type Result<T> = anyhow::Result<T>;