diff --git a/src/bin/gen-job-list.rs b/src/bin/gen-job-list.rs index 81212bf..72b81d2 100644 --- a/src/bin/gen-job-list.rs +++ b/src/bin/gen-job-list.rs @@ -12,6 +12,7 @@ use file_lock::{FileLock, FileOptions}; use memoize::memoize; use anyhow; use chrono::Utc; +use clap::Parser; #[memoize] fn get_subtests(test_path: PathBuf) -> Vec { @@ -259,7 +260,7 @@ fn fetch_remotes(rc: &CiConfig, repo: &git2::Repository) -> anyhow::Result Ok(true) } -fn update_jobs(rc: &CiConfig, repo: &git2::Repository) -> anyhow::Result<()> { +fn update_jobs(rc: &CiConfig, repo: &git2::Repository, verbose: bool) -> anyhow::Result<()> { if !fetch_remotes(rc, repo)? { return Ok(()); } @@ -267,7 +268,7 @@ fn update_jobs(rc: &CiConfig, repo: &git2::Repository) -> anyhow::Result<()> { let lockfile = rc.ktest.output_dir.join("jobs.lock"); let filelock = FileLock::lock(lockfile, true, FileOptions::new().create(true).write(true))?; - let jobs_in = rc_test_jobs(rc, repo, false); + let jobs_in = rc_test_jobs(rc, repo, verbose); write_test_jobs(rc, jobs_in)?; drop(filelock); @@ -275,7 +276,16 @@ fn update_jobs(rc: &CiConfig, repo: &git2::Repository) -> anyhow::Result<()> { Ok(()) } +#[derive(Parser)] +#[command(author, version, about, long_about = None)] +struct Args { + #[arg(short, long)] + verbose: bool, +} + fn main() { + let args = Args::parse(); + let rc = ciconfig_read(); if let Err(e) = rc { eprintln!("could not read config; {}", e); @@ -291,5 +301,7 @@ fn main() { } let repo = repo.unwrap(); - update_jobs(&rc, &repo).ok(); + if let Err(e) = update_jobs(&rc, &repo, args.verbose) { + eprintln!("update_jobs() error: {}", e); + } } diff --git a/src/bin/get-test-job.rs b/src/bin/get-test-job.rs index 11d1817..66ec48d 100644 --- a/src/bin/get-test-job.rs +++ b/src/bin/get-test-job.rs @@ -4,8 +4,8 @@ use std::process; use ci_cgi::{Ktestrc, ciconfig_read, lockfile_exists}; use ci_cgi::{Worker, workers_update}; use file_lock::{FileLock, FileOptions}; -use clap::Parser; use chrono::Utc; +use clap::Parser; #[derive(Debug)] struct TestJob { @@ -131,10 +131,6 @@ fn get_and_lock_job(rc: &Ktestrc) -> Option { } fn main() { - std::process::Command::new("gen-job-list") - .output() - .expect("failed to execute gen-job-list"); - let args = Args::parse(); let rc = ciconfig_read();