docs(ci): add CI_CACHING.md — save/restore design for CI runners (closes #92)#100
docs(ci): add CI_CACHING.md — save/restore design for CI runners (closes #92)#100
Conversation
#92) New decentralized doc covering how consumer CI pipelines (FastLED's matrix in particular) should persist fbuild's cache across runs: - What to cache (~/.fbuild/<mode>/cache) and what NOT to cache (daemon/) - Cache-key strategy with OS/arch, fbuild version, graph-input hashes, and a manual-bump sentinel — plus restore-key fallback chain - Hermeticity notes: content-hashed fingerprints, absolute-path caveats in response files, DWARF path considerations - Invalidation behavior: reconcile_on_open runs once at daemon start, not per-build; LRU/GC auto-scales to disk free - Daemon interaction: one-shot CI is the fast path, don't --no-daemon, and don't cache daemon state - Tooling audit: no cache export/import/pin helpers today (filed as follow-ups); DiskCache::stats() is available for CI debug output - Worked example: drop-in GitHub Actions snippet with a matrix over os × board, plus a smoke-test step that asserts the second run was warm - Expected timings sourced from #91's profiling data Wired into docs/INDEX.md (two FAQ rows) and docs/README.md (contents list) for discoverability. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 56 minutes and 27 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Adds a decentralized doc that answers how do I persist fbuild's cache across CI runs? — the missing design the #92 issue called out.
Highlights:
~/.fbuild/*/daemon/must be excluded (the daemon port/PID files cause broken-daemon-discovery on the next run if restored).--no-daemonis not needed, and the matrix-sharding concurrency note.Wired into
docs/INDEX.md(two FAQ rows — cache-how and cache-safe) anddocs/README.md(contents list).Test plan
lychee-compatible internal links resolve (no new broken links).docs/INDEX.mdfollow the one-question-per-row convention.Related