use std::path::PathBuf;
use anyhow::{Context, Result};
use clap::Parser;
use crabka_bench_driver::report;
#[derive(Debug, Parser)]
#[command(name = "crabka-bench-report", version, about)]
struct Cli {
#[arg(long, default_value = "bench/results")]
input_dir: PathBuf,
#[arg(long, default_value = "bench/results/SUMMARY.md")]
out: PathBuf,
#[arg(long)]
strict: bool,
}
fn main() -> Result<()> {
let cli = Cli::parse();
let md = report::render_markdown(&cli.input_dir, cli.strict)?;
if let Some(parent) = cli.out.parent() {
std::fs::create_dir_all(parent).ok();
}
std::fs::write(&cli.out, md)
.with_context(|| format!("write summary to {}", cli.out.display()))?;
println!("wrote {}", cli.out.display());
Ok(())
}