deb,cli,test,docs: record and show dep-install and build durations

Every binary build measures its dependency installation (apt-get
update, the essential and injected packages, each build-dependency
pass) and its package build (debian/rules build plus binary) into a
timings accumulator; the record manifest stores both as an optional
`timings` field when the run ends, whatever the outcome — a failed
build keeps its partial durations, and a run that died before any
timed command records nothing.

`pkh deb list` shows the two durations as DEPS and BUILD columns,
formatted like the age ("45s", "2m41s", "1h02m"); records predating
the field show dashes. The field is serde-optional, so the manifest
schema stays at 1 and existing records remain discoverable and
forkable.
This commit is contained in:
2026-09-30 12:45:13 +02:00
parent 6385cf6dc1
commit d946af8bb6
6 changed files with 181 additions and 10 deletions
+9 -1
View File
@@ -561,7 +561,15 @@ async fn configure_testbed(
}
if !opts.inject.is_empty() {
crate::deb::local::install_injected_packages(&opts.inject, env, ctx.clone(), view, &None)?;
// Testbed setup is not a timed build: the durations go nowhere.
crate::deb::local::install_injected_packages(
&opts.inject,
env,
ctx.clone(),
view,
&None,
&mut crate::deb::session::BuildTimings::default(),
)?;
}
Ok(())
}