fix: infer triggered state from native pipelinerun

This commit is contained in:
Codex
2026-07-03 07:59:24 +00:00
parent 901bd60651
commit 7708ce6e76
+3 -2
View File
@@ -939,11 +939,12 @@ async function decideAndMaybeTrigger(
const previousObserved = stringOrNull(recordAt(previous, ["source"])?.observedSha);
const previousTarget = stringOrNull(recordAt(previous, ["target"])?.targetSha);
const superseded = previousInFlight !== null && previousObserved !== null && observedSha !== null && previousObserved !== observedSha;
const nativePipelineRunMatchesObserved = observedSha !== null && live.pipelineRun !== null && live.pipelineRun === expectedPipelineRunName(follower, observedSha);
let phase: BranchFollowerPhase;
let decision: string;
let triggerCommand: Record<string, unknown> | undefined;
let inFlightJob: string | null = live.inFlightJob;
let lastTriggeredSha = live.lastTriggeredSha ?? previousLastTriggered;
let lastTriggeredSha = live.lastTriggeredSha ?? previousLastTriggered ?? (nativePipelineRunMatchesObserved ? observedSha : null);
let lastSucceededSha = live.lastSucceededSha ?? previousLastSucceeded;
if (targetSha === null && observedSha !== null && previousLastSucceeded === observedSha && previousTarget === observedSha) targetSha = observedSha;
@@ -960,7 +961,7 @@ async function decideAndMaybeTrigger(
phase = "Noop";
decision = "target already matches observed source sha";
lastSucceededSha = observedSha;
} else if (previousLastTriggered !== null && previousLastTriggered === observedSha) {
} else if (lastTriggeredSha !== null && lastTriggeredSha === observedSha) {
phase = "ClosingOut";
decision = "same sha was already triggered; use status/events/logs for closeout";
} else {