cicd do not infer legacy timings
This commit is contained in:
+2
-24
@@ -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[] = [];
|
||||
|
||||
Reference in New Issue
Block a user