Merge pull request #1494 from pikasTech/fix/1476-native-trigger-state
fix: infer triggered state from native pipelinerun
This commit is contained in:
+3
-2
@@ -939,11 +939,12 @@ async function decideAndMaybeTrigger(
|
|||||||
const previousObserved = stringOrNull(recordAt(previous, ["source"])?.observedSha);
|
const previousObserved = stringOrNull(recordAt(previous, ["source"])?.observedSha);
|
||||||
const previousTarget = stringOrNull(recordAt(previous, ["target"])?.targetSha);
|
const previousTarget = stringOrNull(recordAt(previous, ["target"])?.targetSha);
|
||||||
const superseded = previousInFlight !== null && previousObserved !== null && observedSha !== null && previousObserved !== observedSha;
|
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 phase: BranchFollowerPhase;
|
||||||
let decision: string;
|
let decision: string;
|
||||||
let triggerCommand: Record<string, unknown> | undefined;
|
let triggerCommand: Record<string, unknown> | undefined;
|
||||||
let inFlightJob: string | null = live.inFlightJob;
|
let inFlightJob: string | null = live.inFlightJob;
|
||||||
let lastTriggeredSha = live.lastTriggeredSha ?? previousLastTriggered;
|
let lastTriggeredSha = live.lastTriggeredSha ?? previousLastTriggered ?? (nativePipelineRunMatchesObserved ? observedSha : null);
|
||||||
let lastSucceededSha = live.lastSucceededSha ?? previousLastSucceeded;
|
let lastSucceededSha = live.lastSucceededSha ?? previousLastSucceeded;
|
||||||
if (targetSha === null && observedSha !== null && previousLastSucceeded === observedSha && previousTarget === observedSha) targetSha = observedSha;
|
if (targetSha === null && observedSha !== null && previousLastSucceeded === observedSha && previousTarget === observedSha) targetSha = observedSha;
|
||||||
|
|
||||||
@@ -960,7 +961,7 @@ async function decideAndMaybeTrigger(
|
|||||||
phase = "Noop";
|
phase = "Noop";
|
||||||
decision = "target already matches observed source sha";
|
decision = "target already matches observed source sha";
|
||||||
lastSucceededSha = observedSha;
|
lastSucceededSha = observedSha;
|
||||||
} else if (previousLastTriggered !== null && previousLastTriggered === observedSha) {
|
} else if (lastTriggeredSha !== null && lastTriggeredSha === observedSha) {
|
||||||
phase = "ClosingOut";
|
phase = "ClosingOut";
|
||||||
decision = "same sha was already triggered; use status/events/logs for closeout";
|
decision = "same sha was already triggered; use status/events/logs for closeout";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user