Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[internal] Track side-effects in
RuleRunner.run_goal_rule
to preven…
…t spurious restarts. (#13385) Unlike `run_rule_with_mocks`, `RuleRunner.run_goal_rule` does actually run a `Goal` via the engine, and is thus subject to being restarted when its inputs have changed (see #13178). Consequently, the `Console` and `Workspace` types _do_ need to track side-effects in that context, in order to prevent the `@rule` from being restarted after its first side-effect. This was exhibiting as test flakiness for a goal that re-writes files in the workspace (see #13383), because after writing the updated lockfile to disk, the `@rule` has changed its own inputs and is subject to restart: if the restart arrived before any `Console` output was written, the second attempt to run the rule would not find anything to do, and would thus not render any `Console` output. Fixes #13383. [ci skip-rust] [ci skip-build-wheels]
- Loading branch information