Record error when setting up repo fails rather than abort entire script.

This commit is contained in:
Tom Alexander
2026-08-08 23:50:23 -04:00
parent 6386febdb8
commit 0a270dcbdd
5 changed files with 85 additions and 44 deletions

View File

@@ -1,4 +1,5 @@
use std::borrow::Cow;
use std::process::ExitStatus;
use std::time::Duration;
use std::time::Instant;
use std::time::SystemTime;
@@ -43,7 +44,7 @@ impl<'db> RunningBuild<'db> {
&mut self,
mut child: Child,
target_name: TN,
) -> Result<()>
) -> Result<ExitStatus>
where
TN: AsRef<str>,
{
@@ -66,20 +67,7 @@ impl<'db> RunningBuild<'db> {
let exit_status = exit_status_handle.await?;
println!("nix build status was: {}", exit_status);
let update: u64 =
sqlx::query(r#"UPDATE build SET end_time=unixepoch('now'), status=? WHERE id=?"#)
.bind(
exit_status
.code()
.expect("Process should have an exit code."),
)
.bind(self.build_id)
.execute(&self.db_handle.conn)
.await?
.rows_affected();
assert!(update == 1);
Ok(())
Ok(exit_status)
}
pub(crate) fn handle_message(&mut self, message: NixMessage) -> Result<()> {