cicd do not infer legacy timings

This commit is contained in:
Codex
2026-07-03 11:42:01 +00:00
parent e0d83d1d4a
commit 76c2a58996
2 changed files with 3 additions and 25 deletions
+2 -24
View File
@@ -2087,7 +2087,7 @@ function buildFollowerTimings(
phase?: BranchFollowerPhase,
): FollowerState["timings"] {
const nativePayload = asOptionalRecord(live.payload);
const total = totalTimingFromCommand(triggerCommand, phase) ?? totalTimingFromStored(storedTimings, phase) ?? totalTimingFromLivePayload(nativePayload, phase);
const total = totalTimingFromCommand(triggerCommand, phase) ?? totalTimingFromStored(storedTimings, phase);
const stages = dedupeTimingStages([
...stageTimingsFromCommand(triggerCommand),
...stageTimingsFromNativePayload(nativePayload),
@@ -2152,9 +2152,9 @@ function totalTimingFromStored(storedTimings: Record<string, unknown> | null | u
if (storedTimings === null || storedTimings === undefined) return null;
const status = stringOrNull(storedTimings.totalStatus);
const source = stringOrNull(storedTimings.totalSource);
if (phase === "Noop" && status === "noop" && source === "tekton-pipelinerun-start") return null;
const startedAt = stringOrNull(storedTimings.startedAt);
const finishedAt = stringOrNull(storedTimings.finishedAt);
if (phase === "Noop" && finishedAt === null) return null;
const seconds = totalSecondsFromRange(startedAt, finishedAt) ?? numberOrNull(storedTimings.totalSeconds);
if (seconds === null) return null;
return {
@@ -2166,24 +2166,6 @@ function totalTimingFromStored(storedTimings: Record<string, unknown> | null | u
};
}
function totalTimingFromLivePayload(payload: Record<string, unknown> | null, phase?: BranchFollowerPhase): { seconds: number; status: string; source: string; startedAt: string | null; finishedAt: string | null } | null {
if (payload === null) return null;
if (phase === "Noop") return null;
const tekton = asOptionalRecord(payload.tekton);
const startedAt = stringOrNull(tekton?.startTime);
if (startedAt === null) return null;
const finishedAt = phase !== undefined && terminalPhase(phase) ? new Date().toISOString() : null;
const seconds = totalSecondsFromRange(startedAt, finishedAt);
if (seconds === null) return null;
return {
seconds,
status: phase === undefined ? "native-observed" : phase.toLowerCase(),
source: "tekton-pipelinerun-start",
startedAt,
finishedAt,
};
}
function totalSecondsFromRange(startedAt: string | null, finishedAt: string | null): number | null {
const startedMs = timestampMs(startedAt);
if (startedMs === null) return null;
@@ -2197,10 +2179,6 @@ function timestampMs(value: string | null): number | null {
return Number.isFinite(parsed) ? parsed : null;
}
function terminalPhase(phase: BranchFollowerPhase): boolean {
return phase === "Succeeded" || phase === "Failed" || phase === "Blocked" || phase === "Skipped" || phase === "Noop";
}
function stageTimingsFromNativePayload(payload: Record<string, unknown> | null): StageTiming[] {
if (payload === null) return [];
const stages: StageTiming[] = [];