-
Notifications
You must be signed in to change notification settings - Fork 56
LCORE-326: Add arm64 image building for releases #218
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
WalkthroughThe build workflow was updated to support multi-architecture container images for both amd64 and arm64 by installing additional tools and updating build steps. The README was revised to document the new supported platforms, specifying compatibility with both Linux amd64 and arm64 architectures. Changes
Sequence Diagram(s)sequenceDiagram
participant Workflow
participant Buildah
participant QEMU
participant Registry
Workflow->>QEMU: Install qemu-user-static
Workflow->>Buildah: Build image (amd64, arm64)
Buildah-->>Workflow: Build outputs
Workflow->>Buildah: List built images
Buildah-->>Workflow: Image list
Workflow->>Buildah: Inspect manifest (latest)
Buildah-->>Workflow: Manifest details
Workflow->>Registry: Push multi-arch image
Poem
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 1
🧹 Nitpick comments (4)
.github/workflows/build_and_push_release.yaml (3)
26-29: Install binfmt properly & keep image lean
qemu-user-staticalone may not register the ARM handler;binfmt-supportis usually pulled in as a dependency but being explicit prevents sporadic failures.
While you are here, adding--no-install-recommendsavoids pulling ~200 MiB of unrelated packages.- sudo apt install -y buildah qemu-user-static + sudo apt-get install -y --no-install-recommends buildah qemu-user-static binfmt-support
43-48: Harden ad-hoc verification stepIf
grepfinds nothing the pipeline fails (good), but other errors in the script will be swallowed. A minimalset -euo pipefailmakes the step fail-fast and surfaces typos.- buildah images | grep '${{ env.IMAGE_NAME }}' + set -euo pipefail + buildah images | grep '${{ env.IMAGE_NAME }}'
49-52: Mirror the safety guard on manifest inspectionSame reasoning as above – propagate early errors.
- set -x + set -euo pipefail -xREADME.md (1)
180-183: Tiny formatting glitchMissing space after the dash.
-1. `linux/arm64`- Mac users with M1/M2/M3 CPUs +1. `linux/arm64` - Mac users with M1/M2/M3 CPUs
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/build_and_push_release.yaml(2 hunks)README.md(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build-pr
| ${{ env.LATEST_TAG }} | ||
| containerfiles: | | ||
| ${{ env.CONTAINER_FILE }} | ||
| archs: amd64, arm64 |
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.
Whitespace in archs input may break manifest creation
The action splits on commas; the extra space is preserved on some Node versions and causes an “unsupported architecture ‘ arm64’ ” error.
- archs: amd64, arm64
+ archs: amd64,arm64📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| archs: amd64, arm64 | |
| archs: amd64,arm64 |
🤖 Prompt for AI Agents
In .github/workflows/build_and_push_release.yaml at line 41, remove the space
after the comma in the archs input so it reads "amd64,arm64" without any spaces.
This prevents the action from interpreting the architecture string with leading
whitespace, which causes errors during manifest creation.
tisnik
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.
LGTM
Description
LCORE-326: Add arm64 image building for releases
Type of change
Summary by CodeRabbit
New Features
Documentation