Background steps execution engine#4476
Open
lokesh755 wants to merge 6 commits into
Open
Conversation
955429e to
13594a5
Compare
becd2c1 to
b88b481
Compare
4fbc66b to
95ab648
Compare
TingluoHuang
reviewed
Jun 4, 2026
b88b481 to
5007995
Compare
Base automatically changed from
lokesh755-thread-safety-primitives-background-stepps
to
main
June 4, 2026 18:08
95ab648 to
5a09827
Compare
5a09827 to
265b98d
Compare
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
265b98d to
c89cec5
Compare
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
50a2671 to
369bbe9
Compare
48753dd to
40c6e91
Compare
TingluoHuang
reviewed
Jun 5, 2026
TingluoHuang
reviewed
Jun 5, 2026
TingluoHuang
reviewed
Jun 5, 2026
TingluoHuang
reviewed
Jun 5, 2026
TingluoHuang
reviewed
Jun 5, 2026
TingluoHuang
reviewed
Jun 5, 2026
40c6e91 to
200d050
Compare
TingluoHuang
reviewed
Jun 5, 2026
TingluoHuang
reviewed
Jun 5, 2026
d6aa1f6 to
975ab20
Compare
975ab20 to
c6e2142
Compare
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
TingluoHuang
reviewed
Jun 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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