Repository navigation
Closed
Description
The README promises two architectures; only x86-64 is built
README.md says the workflow "builds packages for both architectures and
publishes them to a GitHub Release". It does not — every published asset is
x86-64 only:
$ gh release view minimax-code-v3.1.4 --json assets --jq '.assets[].name'
checksums_minimax-code_3.1.4_amd64.txt
minimax-code-3.1.4.x86_64.rpm
minimax-code_3.1.4_amd64.deb
and the build refuses anything but x64:
$ scripts/lib_common.sh:160 resolve_arch() {
case "$1" in
x64|amd64) ... ;;
*) die "Unknown arch '$1' (only x64 is supported)" ;;The workflow has a single build job on ubuntu-latest — no matrix, no
arm64 anywhere.
This is a request to implement arm64 (or, at minimum, to correct the
README sentence — a fix for that is included in #4).
Why it is feasible
Everything the arm64 build needs exists upstream:
| Piece | arm64 source | Status |
|---|---|---|
| Electron runtime | electron-v42.8.0-linux-arm64.zip |
exists in electron/electron v42.8.0 |
| better-sqlite3 | better-sqlite3-v12.11.1-electron-v146-linux-arm64.tar.gz |
exists (HTTP 200) |
| node-pty | no prebuilds published (see microsoft/node-pty#805) | must be compiled |
| @vscode/ripgrep | @vscode/ripgrep-linux-arm64 |
on npm |
| @mariozechner/clipboard | @mariozechner/clipboard-linux-arm64-gnu |
on npm |
| @trycua/cua-driver | @trycua/cua-driver-linux-arm64-gnu |
on npm |
| opencode agent | opencode-linux-arm64 |
on npm |
| session-transfer client | built from Go in this repo | GOARCH=arm64 cross-compile |
| upstream payload | cnArmMacosDownloadUrl / overseasArmMacosDownloadUrl |
published for both editions |
The upstream macOS arm64 DMG is published separately from the x64 one, so
resolve-version.sh would need to select *ArmMacosDownloadUrl for an arm64
build.
Suggested approach
- Extend
resolve_archwith anarm64case:
MMX_ELECTRON_ARCH=arm64 MMX_NPM_ARCH=arm64 MMX_DEB_ARCH=arm64 MMX_RPM_ARCH=aarch64. - Build on a native arm64 runner (
ubuntu-24.04-armis available on GitHub
Actions) rather than cross-compiling node-pty: node-pty publishes no Linux
prebuilds, so it has to be compiled anyway, and a native builder avoids a
cross-toolchain forpty.node. - Add
arm64to the workflow matrix; asset names already follow from the
arch (..._arm64.deb,....aarch64.rpm). - Verify with the launch smoke test (
tests/smoke-launch.sh) — an arm64
payload that cannotdlopena native addon still builds cleanly.
I can put up a PR for this if it is wanted — the pieces above are all
verified to exist, but the arm64 end-to-end build has not been run yet.
Metadata
Metadata
Assignees
Labels
No labels
Activity
tylerdotai commentedon Oct 20, 2026
Consolidating this into #6, which covers the same finding (the README claims two architectures, only x86-64 is built) together with the rest — so there is one thread to read.