mirror of
https://github.com/docker/compose.git
synced 2026-10-12 02:13:08 +00:00
The executor aborted the whole plan on any node failure, which rules out modeling optional semantics — a dependency declared with required: false must be reported as skipped, not fail the operation, and its dependents must still run. This is a prerequisite for planning the start phase (dependency-condition waits) inside the reconciler. Operation gains Optional: at the walker level, a failing Optional node emits a Skipped event plus a warning and completes successfully, so dependent nodes proceed. It is documented against the pre-existing BestEffort flag, which is narrower (one specific expected error, tolerated inside the operation itself) — the two docs now cross-reference each other so they cannot be confused. Covered by an executor unit test asserting a failing Optional node does not fail the plan and its dependent still executes. Groundwork for the start-in-plan convergence. Signed-off-by: Nicolas De Loof <[email protected]>