fix: speed up dependency-heavy container rebuilds - #1154
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughChangesThe Dockerfiles add architecture-specific BuildKit caches for package managers, Rust, Cargo, build outputs, and sccache. A new installer validates and installs sccache archives. Llama patch preparation disables Git hooks through configuration. Tests and cache benchmarks document the behavior. Build cache and reproducibility updates
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant DockerBuild
participant InstallSccache
participant ReleaseArchive
participant LlamaBuild
DockerBuild->>InstallSccache: provide TARGETARCH and SCCACHE_VERSION
InstallSccache->>ReleaseArchive: download and verify sccache archive
InstallSccache->>DockerBuild: install sccache binary
DockerBuild->>LlamaBuild: enable sccache with architecture-specific cache
LlamaBuild->>DockerBuild: produce cached build outputs
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@scripts/install-sccache.sh`:
- Around line 30-42: Update both curl invocations in the download condition to
include explicit --connect-timeout and --max-time limits alongside --retry 3,
ensuring stalled connections and overall transfers terminate within bounded
durations while preserving the existing cleanup and failure behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 2430a352-776e-462c-ae7e-b21c1c80e8c5
📒 Files selected for processing (8)
docker/Dockerfile.clientdocker/skippy-wan-lab/Dockerfiledocs/BUILD_CACHE_BENCHMARKS.mdfly/Dockerfilescripts/install-sccache.shscripts/prepare-llama.shscripts/tests/test_install_sccache.pyscripts/tests/test_prepare_llama.py
|
still my beating heart |
Summary
git am --no-verifywith a Bookworm-compatible hook overrideMeasured impact
The same patched llama.cpp CPU/static source tree was compiled from clean build directories on Linux ARM64:
The warm compiler-cache path is 97.1% faster than the control, with zero cache errors.
Release-path audit
just check-releasepasses the release-target consistency gate.prepare-native-runtime-inputandpackage-native-runtime.sh.prepare-llama.shandbuild-llama.sh.prepare-native-sdk-input.mesh-packaging.Validation
just check-releasee43d604fb427e769ce3c09ebb462743e456d0c99Summary by CodeRabbit
Performance
Documentation
Reliability
Tests