fix(docker): harden apt.llvm.org bootstrap - #235
Conversation
|
Claude finished @davidtaikocha's task —— View job PR Review: Docker LLVM Key Download FixTasks:
SummaryStrong fix that addresses a real production issue with excellent test coverage. The solution is well-engineered with proper retry logic, atomic operations, and comprehensive validation. Code Quality & Best Practices ✅install_llvm_ubuntu.sh
install_llvm_ubuntu_test.sh
ci.yml
Security Concerns ✅
Potential Issues 🟡
Performance Considerations ✅
Test Coverage ✅Excellent regression coverage:
Minor gap:
Recommendations
VerdictApprove with minor suggestions. This is a well-researched fix that:
The suggestions above are minor refinements, not blockers. |
Summary
llvm.shand its signing key with bounded GET retriesapt-get updatevalidate the repositoryRoot cause
Three arm64 jobs exposed separate network failure signatures against apt.llvm.org:
/trixie/HEAD preflight timed out/trixie/HEAD timed out once/trixie/HEAD timeoutsThe pinned upstream installer treats a transient repository HEAD failure as an unsupported distribution and performs its key GET with the default 900-second wget timeout.
The wrapper now verifies the upstream script hash, disables only its redundant repository HEAD check, and relies on the signed
apt-get updatealready protected byAcquire::Retries. It also downloads the signing key atomically using four bounded GET attempts, which eliminates both upstream key operations.Regression coverage
The Docker integration test runs the real wrapper in Debian Trixie and makes both repository and signing-key HEAD requests fail while bounded GETs succeed.
Validation
linux/arm64Debian Trixie install: LLVM 22.1.8just fmt-checkjust clippyjust test: 294 passed