-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make incremental build with Skymeld and BwoB faster.
Previously, a incremental build with Skymeld and BwoB has to re-evaluate action node in order to correctly staging toplevel artifacts. The reason is BwoB requires full analysis result before execution phrase to correctly invalidate action nodes for toplevel artifacts and with Skymeld, the full analysis result is not available yet when execution phrase starts. This CL changes how BwoB invalidate action nodes before entering execution phrase: instead of depending on full analysis result, it now uses `remoteOutputChecker` from previous build -- if `lastRemoteOutputChecker` said Bazel should download one toplevel artifact but it's missing locally, we invalidate the action node. For clean build, `lastRemoteOutputChecker` is initialized to `null` because there is no action nodes to invalidate. If an artifact is promoted from intermediate output to toplevel in an incremental build, no action node is invalidated. Instead, we rely on `CompletionFunction` to download them. There is one caveat though: sometimes we need to invalidate `CompletionFunction`, e.g. when `outputsMode` is changed. Working towards #22367. PiperOrigin-RevId: 667562015 Change-Id: Ida86cf04d99fcdec998970eb3cabd63b2318246f
- Loading branch information
1 parent
9392f8f
commit 4c42edb
Showing
7 changed files
with
94 additions
and
23 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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