Skip to content

feat: Add ARM64 image builds - #67

Merged
chasenio merged 3 commits into
masterfrom
topic/chasengao/arm64-image
Jul 25, 2026
Merged

feat: Add ARM64 image builds#67
chasenio merged 3 commits into
masterfrom
topic/chasengao/arm64-image

Conversation

@chasenio

Copy link
Copy Markdown
Member

Summary

  • publish Futu and moomoo images for linux/amd64 and linux/arm64
  • run the upstream x86-64 OpenD binary through bundled QEMU in the ARM64 image
  • keep the AMD64 runtime native and copy only the required emulator/runtime files into ARM64
  • document ARM64 build usage, limitations, and the deferred helper-process wrapper proposal
  • update Docker Actions to currently supported major versions

Validation

  • GitHub Actions build and push succeeded: https://github.com/chasenlab/opend/actions/runs/30145150288
  • both GHCR OCI indexes contain linux/amd64 and linux/arm64 manifests
  • Futu and moomoo ARM64 images ran -help successfully on an ARM64 host
  • default ARM64 startup loaded configuration and started the API listener; the Futu listener accepted a local connection
  • Futu and moomoo AMD64 images ran natively on an x86-64 Mac mini and reached configuration/API startup
  • actionlint, Dockerfile checks, shell syntax checks, and git diff --check passed

Known limitations

Futu currently provides only x86-64 Linux binaries, so ARM64 uses QEMU user-mode emulation and may be slower. WebSocket, updater, and monitor/watchdog helper-process behavior still needs validation on a host without x86-64 binfmt_misc; the proposed wrapper fallback is documented but intentionally not implemented in this PR.

@chasenio chasenio changed the title Add ARM64 image builds feat: Add ARM64 image builds Jul 25, 2026
@chasenio
chasenio merged commit 9d11576 into master Jul 25, 2026
@chasenio
chasenio deleted the topic/chasengao/arm64-image branch July 25, 2026 06:07
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