fix: show targeted cleanup age guard

This commit is contained in:
Codex
2026-06-08 16:13:06 +00:00
parent aadbf176ba
commit 3a51785805
2 changed files with 29 additions and 12 deletions
+23 -12
View File
@@ -2629,26 +2629,37 @@ function listCleanupPipelineRuns(options: G14ControlPlaneOptions): Record<string
.sort((a, b) => String(b.createdAt).localeCompare(String(a.createdAt)))[0];
if (latest !== undefined) protectedLatestByPrefix.set(prefix, latest.name);
}
if (targetPipelineRun !== undefined) {
const target = terminalRuns.find((item) => item.name === targetPipelineRun);
if (target === undefined) {
return [{
name: targetPipelineRun,
createdAt: null,
ageMinutes: null,
status: null,
reason: "target-pipelinerun-not-found-or-not-terminal",
selected: false,
}];
}
const ageMinutes = typeof target.ageMinutes === "number" ? target.ageMinutes : null;
const belowMinAge = ageMinutes === null || ageMinutes < options.minAgeMinutes;
return [{
...target,
selected: !belowMinAge,
...(belowMinAge
? { selectedReason: ageMinutes === null ? "missing-creation-timestamp" : "below-min-age" }
: {}),
}];
}
const candidates = terminalRuns
.filter((item) => targetPipelineRun === undefined || item.name === targetPipelineRun)
.filter((item) => typeof item.ageMinutes === "number" && item.ageMinutes >= options.minAgeMinutes)
.map((item) => {
const protectedLatest = targetPipelineRun === undefined && [...protectedLatestByPrefix.values()].includes(item.name);
const protectedLatest = [...protectedLatestByPrefix.values()].includes(item.name);
return protectedLatest
? { ...item, selected: false, selectedReason: "protected-latest-pipelinerun" }
: item;
})
.slice(0, options.limit);
if (targetPipelineRun !== undefined && candidates.length === 0) {
return [{
name: targetPipelineRun,
createdAt: null,
ageMinutes: null,
status: null,
reason: "target-pipelinerun-not-found-or-not-terminal",
selected: false,
}];
}
return candidates;
}