prune: garbage-collect pkh test run directories
Test artifacts land under /var/tmp/pkh/tests (<source>-<series>-<arch>- <timestamp>/), one directory per run: they are disposable results, not state worth keeping. Prune removes them on the same 7-day retention as build sessions, and with --all; the root is overridable through PKH_TESTS_DIR like the sessions root.
This commit is contained in:
+12
-2
@@ -530,12 +530,22 @@ fn drop_shell(
|
||||
/// `/var/tmp/pkh/tests/<source>-<series>-<arch>-<timestamp>/`.
|
||||
fn create_run_dir(package: &str, series: &str, arch: &str) -> std::io::Result<PathBuf> {
|
||||
let timestamp = chrono::Utc::now().format("%Y%m%dT%H%M%S");
|
||||
let dir =
|
||||
PathBuf::from("/var/tmp/pkh/tests").join(format!("{package}-{series}-{arch}-{timestamp}"));
|
||||
let dir = runs_root().join(format!("{package}-{series}-{arch}-{timestamp}"));
|
||||
fs::create_dir_all(&dir)?;
|
||||
Ok(dir)
|
||||
}
|
||||
|
||||
/// The test-run artifacts root: `$PKH_TESTS_DIR`, defaulting to
|
||||
/// `/var/tmp/pkh/tests`.
|
||||
pub fn runs_root() -> PathBuf {
|
||||
if let Ok(dir) = std::env::var("PKH_TESTS_DIR")
|
||||
&& !dir.is_empty()
|
||||
{
|
||||
return PathBuf::from(dir);
|
||||
}
|
||||
PathBuf::from("/var/tmp/pkh/tests")
|
||||
}
|
||||
|
||||
/// Render the tests declared in the tree's `debian/tests/control`, one
|
||||
/// block per test (`pkh test --list-tests`).
|
||||
pub fn list_tests(tree: &Path) -> Result<String, Box<dyn std::error::Error>> {
|
||||
|
||||
Reference in New Issue
Block a user