Skip to content

Use native arm64 runners instead of QEMU emulation#51

Merged
damyan merged 1 commit intomainfrom
fix/native-arm64-runners
Mar 20, 2026
Merged

Use native arm64 runners instead of QEMU emulation#51
damyan merged 1 commit intomainfrom
fix/native-arm64-runners

Conversation

@damyan
Copy link
Owner

@damyan damyan commented Mar 20, 2026

Summary

  • Replace QEMU-based cross-platform build with native per-architecture runners (ubuntu-latest for amd64, ubuntu-24.04-arm for arm64)
  • Remove QEMU setup and self-hosted runner workaround (docker context)
  • Add a merge job that creates the multi-platform manifest from per-arch digests
  • Fixes arm64 build failures caused by QEMU SIGSEGV crashes in systemd/dpkg post-install scripts

Test plan

  • Trigger a workflow_dispatch run after merge and verify both amd64 and arm64 builds succeed natively
  • Verify the merged manifest contains both architectures: docker buildx imagetools inspect ghcr.io/damyan/sak-base:latest

QEMU user-mode emulation crashes with SIGSEGV when running aarch64
binaries for packages like systemd, causing the arm64 build to fail.

Replace the single cross-platform build with per-architecture jobs
using native runners (ubuntu-latest for amd64, ubuntu-24.04-arm for
arm64) and a merge job that creates the multi-platform manifest.
@damyan damyan merged commit e58c89c into main Mar 20, 2026
1 check passed
@damyan damyan deleted the fix/native-arm64-runners branch March 20, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant