Workflow iterator continues on faillure (#18325)

<img width="450" height="212" alt="Capture d’écran 2026-03-03 à 11 41
54"
src="https://github.com/user-attachments/assets/b2c29a48-7dc0-4b16-a085-8f305d21f7ca"
/>

New status `FAIL_SAFE` added. This status propagates to the following
nodes until reaching the iterator, that will start the new iteration.

The difference with `SKIP` is that, when the parent nodes have at least
one `FAIL_SAFE`, it becomes `FAIL_SAFE` too. While a parent 1 `SKIP` +
parent 2 `SUCCESS` => to be executed.

I also thought about just going back to the iterator as a break would,
but since we have branches, it may lead to inconsistent statuses with
parallel updates.
This commit is contained in:
Thomas Trompette
2026-03-03 14:18:57 +01:00
committed by GitHub
parent d48c58640c
commit b2b3a3f860
29 changed files with 1410 additions and 456 deletions
@@ -20,5 +20,6 @@ export const workflowIteratorActionSettingsSchema =
])
.optional(),
initialLoopStepIds: z.array(z.string()).optional(),
shouldContinueOnIterationFailure: z.boolean().optional(),
}),
});
@@ -8,6 +8,7 @@ export enum StepStatus {
SUCCESS = 'SUCCESS',
STOPPED = 'STOPPED',
FAILED = 'FAILED',
FAILED_SAFELY = 'FAILED_SAFELY',
PENDING = 'PENDING',
SKIPPED = 'SKIPPED',
}