fix: remove GHA Docker layer cache causing stale vendor/ COPY - #63
Conversation
…ayer The Docker multi-platform build was failing with 'unable to open vendor/websocket: FileNotFound' because the GHA cache (cache-from: type=gha) was returning a stale COPY vendor/ layer from before vendor/websocket was added. Docker buildx GHA cache has known issues with COPY cache invalidation. Remove cache-from/cache-to to ensure clean builds. Also add a verification step to list vendor/ contents before the Docker build for diagnostics. Co-Authored-By: mccoy <hbzgzr@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThe release workflow configuration was updated to add a docker build context verification step and remove GitHub Actions cache configuration from the docker/build-push-action step. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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 |
fix: remove GHA Docker layer cache to fix stale vendor/ COPY
Summary
The Docker multi-platform build in the release workflow fails with:
The
vendor/websocket/directory exists in git and is checked out correctly, but the Zig build inside Docker can't find it. The suspected cause is the GHA layer cache (cache-from: type=gha) returning a staleCOPY vendor/ vendor/layer from a previous build beforevendor/websocket/was added. Docker buildx GHA cache has known issues with COPY cache invalidation.Changes:
cache-from/cache-tofrom the Docker build-push-action to ensure clean buildslsstep before the Docker build to verifyvendor/websocket/is present after checkoutReview & Testing Checklist for Human
--no-cache). The GHA stale cache theory is plausible but not proven. If this fix doesn't resolve the issue, the diagnosticlsstep will at least confirm whether the checkout is correct.lsruns on the runner, not inside Docker — it verifiesactions/checkouthas the files, but does NOT verify what buildx actually copies into the container. Consider addingls vendor/inside the DockerfileRUNstep as well (beforezig build) for deeper diagnosis.scope=${{ github.sha }}after confirming the fix works.v2026.3.13.1), push it, and verify the Docker stage passes in the release workflow. If it still fails, check theVerify build contextstep output to confirmvendor/websocket/is listed.Notes
Summary by CodeRabbit
Release Notes