cargo-athena 0.1.0

Compile regular Rust into Argo Workflow YAML — facade crate
Documentation
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>(); }