Automated rollback of commit b699b1cce2dae631516f91f178642d698dbc9802. *** Reason for rollback *** Fixed bug when the primary action of a finished ActionExecutionState is Skyframe-restarted, and then its state is obsoleted between when it next probes the action map and when it attempts to use that state's value in ActionExecutionState.getResultOrDependOnFuture. The primary action will now restart in that case instead of crash. Renamed "ActionCacheWriteStep" because it does more than just action cache work. It runs the generic "postprocessing" step, including updating the ContinuationState's discoveredInputs and inputArtifactData. That update work can cause Skyframe restarts. *** Original change description *** Automated rollback of commit 0a64598d3cbd2447013232764754a46f10695a64. *** Reason for rollback *** b/183597213 *** Original change description *** Stop forwarding lost input exceptions to shared actions, restart them Refactors the action execution state machine to make non-primary shared actions restart when the primary fails because of lost inputs. Rewound deps' states are now cleared only if done. They may not be done if multiple rewinds race. RELNOTES: None. PiperOrigin-RevId: 364945413
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md