Skip to content

No "skipped" indication for downstream steps after a step fails #240

Description

@pinodeca

Problem

When a step fails, the workflow stops and remaining downstream steps do not execute. Their df.nodes rows (materialized up front by df.start()) remain in a 'pending' state forever. There is no signal distinguishing:

  • "this node was intentionally skipped because an earlier step failed", from
  • "this node hasn't been reached yet because the run is still in progress".

The df.nodes status check constraint currently allows only:

'pending', 'running', 'completed', 'failed'

(see src/lib.rs). There is no 'skipped' terminal state, so a consumer inspecting a failed run's nodes cannot tell skipped-due-to-upstream-failure from never-reached.

Expected

Either:

  • (a) df.nodes rows for un-executed steps carry a distinct 'skipped' status when the workflow terminates, or
  • (b) a separate df.pipeline_run_steps projection materializes the full ordered step list per run with each step's terminal status (including 'skipped').

Notes

  • Severity: Low-Medium.
  • Tracked internally as ADO 5317226 ([A3]).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions