| commit | 1adb51287f5826ac1a8b469c417780c84ea4b467 | [log] [tgz] |
|---|---|---|
| author | larsrc <larsrc@google.com> | Wed Jun 16 03:39:10 2021 -0700 |
| committer | Copybara-Service <copybara-worker@google.com> | Wed Jun 16 03:40:36 2021 -0700 |
| tree | c31757f7d9dadfab6d18d87e485a2e54dceec77c | |
| parent | b67c18e85971ad1f427ef629a945c4bc06ca00a8 [diff] |
Add experimental reuse of non-worker sandboxes. This uses the same functionality as the worker sandboxing to reuse existing sandboxing. Where the worker sandboxes just stay in place, for non-worker sandboxes we move each sandbox aside after use, then move them back to the new sandbox location when we want to reuse them. When reusing a sandbox, we traverse the reused directory and remove anything that doesn't match what we want for the new action. Timing on Mac of degenerate case from GitHub issue #8230, last 20 of 40 builds: - `--strategy=standalone`: Avg. 8.45s - `--strategy=sandbox`: Avg. 56.09s (+563%) - `--strategy=sandbox --experimental_reuse_sandbox_directories`: Avg. 10.72s (+27%) RELNOTES: Adds --experimental_reuse_sandbox_directories flag to reuse already-created non-worker sandboxes with cleanup. PiperOrigin-RevId: 379686176
{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