cicero

Crates.iocicero
lib.rscicero
version0.4.1
created_at2024-09-07 09:07:34.857832+00
updated_at2025-05-19 17:53:58.45525+00
descriptionAutomate CI builds with the cargo-xtask pattern.
homepage
repositoryhttps://codeberg.org/trem/cicero/
max_upload_size
id1367061
size31,550
(trem-rs)

documentation

README

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

Commit count: 0

cargo fmt