-
Notifications
You must be signed in to change notification settings - Fork 8
fix(ci-docker): switch to GitHub Actions cache to prevent runner disk… #304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… exhaustion - refactor to use a matrix strategy for both amd64 and arm64 - remove qemu (blinklabs-io#300) Signed-off-by: Reza Rajan <28660160+rezarajan@users.noreply.github.com>
📝 WalkthroughWalkthroughConsolidates separate amd64 and arm64 CI Docker jobs into a single matrix-driven job over arch [amd64, arm64]. Replaces fixed runner with a conditional selection (uses Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Files/areas to pay extra attention to:
Possibly related PRs
Pre-merge checks and finishing touches✅ Passed checks (2 passed)
✨ 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 |
|
Testing out the ci-docker workflow before making any changes to the publish workflow. |
Signed-off-by: Reza Rajan <28660160+rezarajan@users.noreply.github.com>
Signed-off-by: Reza Rajan <28660160+rezarajan@users.noreply.github.com>
Signed-off-by: Reza Rajan <28660160+rezarajan@users.noreply.github.com>
|
CI builds with the gha cache finished ✅ |
IssueWhile the GHA cache works, and can be used in future runs, the last finished build in the pipeline will overwrite the cache since it does not have any unique references (arch, build target/tags). See [Docker Docs on gha cache] (https://docs.docker.com/build/cache/backends/gha/#scope).
TODO: Include scope for cache to avoid overwriting. |
8cadc55 to
2d9f4c8
Compare
wolf31o2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Breaking the per-architecture caches is not acceptable. This is why we don't use the gha cache type. It cannot support the proper cache necessary to cache both builds. Having an unpredictable cache is not the answer here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues found across 1 file
Signed-off-by: Reza Rajan <28660160+rezarajan@users.noreply.github.com>
Agreed. I am testing out a new build with scoped caches (see updated comment). This should avoid per-architecture overwrites.
For this I have opted to use the pattern |
Signed-off-by: Reza Rajan <28660160+rezarajan@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues found across 1 file
|
@wolf31o2 please review - this should work but needs to be tested with a workflow run to validate. |
|
I started them back up. I cancelled your earlier runs because I was trying to get 10.5.3 built and needed the available runner slots. |
|
@wolf31o2 the build succeeded; can you re-run the same workflow to check if the cache hits? |
|
@wolf31o2 looks like cache works! Builds run in a few seconds. Do you want to merge this for now? The publish workflow can perhaps be updated later in another PR with a similar strategy. |
|
I ran it again just for fun and it's so fast. Thank you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues found across 1 file
Changelog
Summary by cubic
Switched the Docker CI workflow to GitHub Actions cache to prevent runner disk exhaustion and simplified multi-arch builds. Replaced duplicate jobs with a single matrix for amd64 and arm64, removing QEMU by using a native arm64 runner.
Bug Fixes
Refactors
Written for commit 7ab77a9. Summary will update automatically on new commits.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.