Skip to content

perf(zccache) Phase 4: flip embedded to default, retire managed wrapper #793

Description

@zackees

Sub-issue of #789. Depends on Phase 3.

Scope

Once Phase 2 + 3 have shipped on main for at least one release without
regressions, flip embedded to the default and remove the wrapper code
path entirely.

Deliverables

  • CompileBackend::Embedded becomes the default. FBUILD_ZCCACHE_EMBEDDED
    env var deleted (was only a Phase 1 opt-in).
  • Delete crates/fbuild-build/src/managed_zccache.rs and every reference
    to it.
  • Delete the zccache start / ensure_running path and the wrapper-arg
    helpers (wrap_args, find_zccache, discover_env_zccache,
    find_zccache_in_venv) from crates/fbuild-build/src/zccache.rs.
  • Re-evaluate the path-normalization helpers (compile_cwd_from_output,
    normalize_flags_for_compile_cwd, path_arg_for_compile_cwd,
    strip_unc_prefix): keep what the embedded service needs, delete the
    rest. zccache.rs should shrink substantially.
  • Delete FBUILD_NO_ZCCACHE and FBUILD_ZCCACHE_BIN env vars — they
    were wrapper-mode escape hatches.
  • Update CLAUDE.md, docs/, and any README that references the managed
    binary download or the env vars.
  • Strip MANAGED_ZCCACHE_VERSION from pyproject.toml and from the
    release/CI matrix.
  • Close Daemon teardown hardening: process containment + socket lingering + console events #32 once ensure_running is gone — its rationale
    is now moot.

Acceptance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions