Uh oh!
There was an error while loading. Please reload this page.
Background steps execution engine - #4476
Conversation
955429e to
13594a5Comparebecd2c1 to
b88b481Compare4fbc66b to
95ab648CompareUh oh!
There was an error while loading. Please reload this page.
b88b481 to
5007995Compare95ab648 to
5a09827Compare5a09827 to
265b98dCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
265b98d to
c89cec5CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
50a2671 to
369bbe9Compare40c6e91 to
200d050CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
d6aa1f6 to
975ab20Compare975ab20 to
c6e2142CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary
Adds the core background step execution engine to the runner, enabling concurrent step execution within a single job. Background steps (
background: true) run asynchronously while the foreground step loop continues. Control-flow steps (wait,wait-all,cancel) coordinate synchronization and lifecycle management.Changes
New files
BackgroundStepCoordinator.cs— Coordinates background step execution, waiting, cancellation, and deferred state flushing. Manages a concurrency semaphore (default max 10).ControlFlowStepData.cs— Data class for wait/wait-all/cancel steps.BackgroundStepsL0.cs— Unit tests for background step coordination, waiting, cancellation, and failure propagation.Modified files
StepsRunner.cs— IntegratesBackgroundStepCoordinator; background steps are queued without blocking the main loop; control-flow steps are dispatched directly; implicit wait-all runs before post-hooks as a safety net.JobExtension.cs— Initializes control-flow steps fromBackgroundStepControlpipeline type; maps logical step IDs to external IDs for UI reference; creates implicit wait-all for uncovered background steps.ExecutionContext.cs— Adds background step metadata as optional parameters toCreateChildKey design decisions