diff options
Diffstat (limited to 'ci-web/src/bin/gen-commit-summary.rs')
-rw-r--r-- | ci-web/src/bin/gen-commit-summary.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/ci-web/src/bin/gen-commit-summary.rs b/ci-web/src/bin/gen-commit-summary.rs new file mode 100644 index 0000000..5a3c3a4 --- /dev/null +++ b/ci-web/src/bin/gen-commit-summary.rs @@ -0,0 +1,28 @@ +use std::process; +use ci_cgi::{ktestrc_read, commitdir_get_results, TestResults}; +use clap::Parser; +use toml; + +#[derive(Parser)] +#[command(author, version, about, long_about = None)] +struct Args { + commit: String, +} + +fn main() { + let args = Args::parse(); + + let ktestrc = ktestrc_read(); + if let Err(e) = ktestrc { + eprintln!("could not read config; {}", e); + process::exit(1); + } + let ktestrc = ktestrc.unwrap(); + + let results = TestResults { d: commitdir_get_results(&ktestrc, &args.commit) }; + + let file_contents = toml::to_string(&results).unwrap(); + + let commit_summary_fname = ktestrc.ci_output_dir.join(args.commit + ".toml"); + std::fs::write(commit_summary_fname, file_contents).unwrap(); +} |