cargo-athena-0.1.0 has been yanked.
cargo-athena — compile regular Rust into Argo Workflow YAML.
This facade is the only crate users depend on. It re-exports the
runtime ([cargo_athena_core]) and the proc macros
([cargo_athena_macros]) behind one stable ::cargo_athena path, which is
also the path the generated code targets.
use cargo_athena::{workflow, container}; // `host!` is used path-qualified
#[workflow]
fn run_foo() {
let a = some_other_workflow("asdf".to_string());
run_a_container(a);
}
#[container(image = "ghcr.io/acme/app:latest")]
fn run_a_container(a: String) {
let cfg = cargo_athena::host!("/etc/myapp"); // -> hostPath volume; compile error outside #[container]/#[fragment]
println!("{cfg} {a}");
}
// entrypoint is a *type*; referencing it force-links the closure.
fn main() { cargo_athena::entrypoint::<run_foo>(); }