Uh oh!
There was an error while loading. Please reload this page.
fix(ci): purge stale LPC framework tarball from restored fbuild cache - #3551
Conversation
Root cause of the ongoing LPC-lane failures (#3543 + #3547 did not resolve them): The fbuild setup action's cache uses restore-keys that fall back to `fbuild-<version>-<os>-<arch>-<fbuild-hash>-` — a prefix that ignores `cache-key-extra`. So an lpc804 job whose exact key misses can still restore an unrelated board's cache (observed: uno_r4_wifi's). That cache contains a `platforms/FastLED-framework-arduino-lpc8xx/.../ 50d76e0d63c...tar.gz` from BEFORE the framework repo was transferred to the FastLED org (2026-06-28), with expected sha256 = e6bbcc339... The current-pin URL now serves e64f0cb81..., so fbuild's integrity check fires immediately. Bumping `ci/boards.py` into `cache-key-extra` in #3547 was necessary but not sufficient — the restore-keys fallback wins on a fresh cache miss. Fix: add a small step between the fbuild-cache restore and the pio/compile invocation that deletes ONLY `$RUNNER_TEMP/fbuild-cache/platforms/FastLED-framework-arduino-lpc8xx/`. Other cached artifacts (toolchain, cook, per-board build outputs) are untouched. Non-LPC boards never had this subtree so the step is a no-op for them. Deleted entries are lazily re-populated by the next fbuild call, which now downloads the FastLED-org tarball and records the correct sha256. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds a new step to the fbuild cache setup in the GitHub Actions build workflow that checks for and deletes a stale LPC8xx PlatformIO framework platform tarball directory under the restored fbuild cache, preventing sha256 mismatches during subsequent build steps. ChangesWorkflow Cache Purge
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
✨ 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 |
PRs #3543 and #3547 did not resolve the LPC-lane failures. Root cause: the fbuild setup action's cache uses restore-keys that fall back to 'fbuild-----' — a prefix that ignores cache-key-extra. So an lpc804 job whose exact key misses can still restore an unrelated board's cache (observed in run 28544189852: lpc804 restored uno_r4_wifi's cache). That cache holds a pre-transfer framework-arduino-lpc8xx tarball whose expected sha256 no longer matches what GitHub now serves for commit 50d76e0.
Fix: add a small step between the fbuild-cache restore and the pio/compile invocation that deletes ONLY /fbuild-cache/platforms/FastLED-framework-arduino-lpc8xx/. Other cached artifacts are untouched. Non-LPC boards never had this subtree so the step is a no-op for them. Deleted entries are lazily re-populated by the next fbuild call, which now downloads the FastLED-org tarball and records the correct sha256.
Generated with Claude Code
Summary by CodeRabbit