fix: show targeted cleanup age guard
This commit is contained in:
+23
-12
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user