3 releases (breaking)
new 0.3.0 | Feb 9, 2025 |
---|---|
0.2.0 | Feb 1, 2025 |
0.1.0 | Sep 7, 2024 |
#585 in Build Utils
256 downloads per month
50KB
677 lines
Cicero
Toolbox to help automate Rust CI builds with plain Rust.
Current goal is to provide helper functions, which are useful independent of how you structure your CI code. But you likely still want to structure your CI code according to the cargo-xtask pattern.
Features
Path Handling
Access paths in your repository with compile-time checks.
use cicero::path::repo_path;
let readme = repo_path!("README.md");
let doc_src = repo_path!("doc/src/");
For more information, see Cicero Path.
CLI Management (feature: commands
)
Automatically install CLIs when needed, independent from the CLIs in your other projects.
use cicero::commands::*;
pub static CROSS: Cli = Crate::new("cross").into_cli();
CROSS.command()
.arg("build")
.arg("--release")
.arg("--target=aarch64-unknown-linux-gnu")
.status();
For more information, see Cicero Commands.
Tracing (feature: tracing
, default-enabled)
Call cicero::init::tracing()
at the start of your main-function to setup logging output.
You can then use the tracing
crate to write out messages.
In particular with more complex workflows, using #[tracing::instrument]
on significant functions
is helpful to discern where the logging output belongs to.
Changelog
You can find the changelog here: https://codeberg.org/trem/cicero/src/branch/main/CHANGELOG.md
Dependencies
~4–14MB
~195K SLoC