Repository navigation
build(desktop): share the bundled buzz CLI build across worktrees - #2894
Merged
baxen merged 1 commit intoNov 7, 2026
Merged
Conversation
The bundled buzz CLI builds from a pinned block/buzz revision with its own lockfile, so its output never depends on worktree sources. Linked worktrees now install it under the main checkout's target/ instead of compiling the same revision again in each one. A single checkout, as in CI, keeps its own target/ and the Rust cache that covers it; CARGO_TARGET_DIR still overrides. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Charlie Croom <ccroom@squareup.com>
comp615
marked this pull request as ready for review
November 7, 2026 01:45
baxen
approved these changes
Nov 7, 2026
baxen
deleted the
nexus/investigate-concurrent-worktree-compilation-effi-f7bd37cd
branch
November 7, 2026 03:57
tlongwell-block
added a commit
that referenced
this pull request
Nov 7, 2026
Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz> * origin/main: Build sidebar headings as one fluid design-system row (#2686) fix(messages): swap bubble fills for reactions you've made, drop the ring (#2949) fix(messages): align line-start mention capsules with each other (#2899) fix(relay): probe the live socket on wake, focus and network (#2958) fix(messages): size thread avatars like the timeline's (#2890) build(desktop): share the bundled buzz CLI build across worktrees (#2894) fix(messages): render review comment mentions as chips and open at the reader's place (#2965) feat(agents): read owner messages and canvases over MCP (#2881) Signed-off-by: Tyler Longwell <tlongwell@squareup.com>
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
just desktopbuilds the bundledbuzzCLI withcargo install --git … --rev <pin> --lockedinto each checkout's owntarget/. That build depends only on the pinned block/buzz revision and its lockfile, never on worktree sources, so every new worktree compiled the same 242 crates again.scripts/build-buzz-cli.mjsnow resolves its target withgit rev-parse --git-common-dir, the same checkscripts/bootstrap-worktree.shuses. Linked worktrees install into the main checkout'starget/, still keyed by revision, target and profile. A single checkout, CI included, resolves to its owntarget/, so CI paths andrust-cachecoverage don't change.CARGO_TARGET_DIRstill overrides. The app andbuzz-agent-commandstill build per worktree, for the reasons in.cargo/config.toml. Worktree bootstrap is unaffected: it copies.env.local, installs the toolchain and runspnpm install, and never touchestarget/.Measurements (debug build of the current pin, 16-core Mac, crate sources already in
~/.cargo):target/)target/createdThe first-worktree difference is run-to-run noise; both builds are cold. When two worktrees installed at the same time, Cargo's package-cache and build-directory locks made them take turns, and both staged binaries ran.
Side effects:
cargo cleanor deletingtarget/in the main checkout also removes the shared CLI build, so the nextjust desktopin any worktree rebuilds it once.rust-toolchain.tomlpins share the install folder. Cargo reinstalls when rustc changes, so alternating between them relinks the CLI each time.just desktopwarns and starts without it, whilejust desktop-bundlefails. SettingCARGO_TARGET_DIRsends the build back inside the worktree.Not yet done: the native-app run and human testing from the readiness checklist.
🤖 Generated with Claude Code