Sub-issue of #789. Depends on Phase 2.
Scope
Migrate check_fingerprint / mark_fingerprint_success in
crates/fbuild-build/src/zccache.rs off the zccache fp CLI to an
embedded library equivalent. Today both shell out to the wrapper binary
via fbuild_core::subprocess::run_command — even when
FBUILD_ZCCACHE_EMBEDDED=1 is active, fingerprint checks still spawn a
zccache child, which defeats the purpose of embedded mode.
Deliverables
- An in-process equivalent of
zccache fp check --root … --ext … --exclude …
exposed by the zccache library, consumed from
crates/fbuild-build/src/zccache.rs when CompileBackend::Embedded is
active. Return type maps cleanly onto the existing FingerprintCheck
enum (Changed / Unchanged).
- Equivalent for
zccache fp mark-success.
- If the library does not currently expose these as a public API, file an
upstream issue against zackees/zccache and link it here. Block this
phase on that landing.
- Wrapper-mode fingerprint path remains so default builds are unaffected.
Acceptance
Sub-issue of #789. Depends on Phase 2.
Scope
Migrate
check_fingerprint/mark_fingerprint_successincrates/fbuild-build/src/zccache.rsoff thezccache fpCLI to anembedded library equivalent. Today both shell out to the wrapper binary
via
fbuild_core::subprocess::run_command— even whenFBUILD_ZCCACHE_EMBEDDED=1is active, fingerprint checks still spawn azccache child, which defeats the purpose of embedded mode.
Deliverables
zccache fp check --root … --ext … --exclude …exposed by the
zccachelibrary, consumed fromcrates/fbuild-build/src/zccache.rswhenCompileBackend::Embeddedisactive. Return type maps cleanly onto the existing
FingerprintCheckenum (
Changed/Unchanged).zccache fp mark-success.upstream issue against
zackees/zccacheand link it here. Block thisphase on that landing.
Acceptance
FBUILD_ZCCACHE_EMBEDDED=1, nozccache.exe/zccache-fpchild process is spawned for a full
uv run testcycle.check_fingerprintreturns the sameChanged/Unchangedverdict as the wrapper on the same workspace state for at least
three scripted scenarios (clean, modified-source, modified-exclude).
zccache.rsunchanged and still green.tests/platform/*build correctness.