ci: publish multi-arch container images#1513
Open
IgnazioDS wants to merge 1 commit intolmnr-ai:mainfrom
Open
Conversation
| - name: Set up Docker Buildx | ||
| uses: docker/setup-buildx-action@v3 | ||
|
|
||
| - name: Log in to the Container registry |
Member
There was a problem hiding this comment.
@IgnazioDS can you please set the version to the latest v4 (uses later node)?
Also, please start the PR from the dev branch and target the dev branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
app-server,frontend, andquery-engineimages aslinux/amd64,linux/arm64multi-arch manifestsFixes #139.
Why
The self-hosting compose files pull
ghcr.io/lmnr-ai/*images without pinning a platform, but the current publish workflow builds only the default single-arch image variant. That leaves ARM hosts pulling amd64-only images and failing at runtime withexec format error, which matches the failure reports in #139.This patch keeps the runtime and compose files unchanged and fixes the problem where it actually originates: the image publish pipeline.
Validation
docker-compose.yml/docker-compose-full.ymlto confirm the failing services pullghcr.io/lmnr-ai/app-serverandghcr.io/lmnr-ai/frontend.github/workflows/build-push.ymlto confirm the workflow currently omits Buildx/QEMU and does not setplatformsNote
After merge, maintainers will need a new release publish to republish the GHCR tags as multi-arch manifests.
Note
Low Risk
Low risk: workflow-only changes to the release publish pipeline; main risk is longer builds or unexpected Buildx/QEMU issues affecting image publishing.
Overview
Updates the release
build-pushGitHub Actions workflow to publish multi-architecture Docker images.The pipeline now sets up
QEMUandDocker Buildxand builds/pushes images forlinux/amd64andlinux/arm64viadocker/build-push-action, producing multi-arch manifests for the existing GHCR images.Written by Cursor Bugbot for commit 7e5479b. This will update automatically on new commits. Configure here.