mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-17 21:29:10 +00:00
* ci(docker): build multi-arch images (amd64 + arm64) The agent images at ghcr.io/openrouterteam/spawn-<agent>:latest were built linux/amd64 only. On Apple Silicon (arm64) hosts running --beta sandbox, OrbStack pulls the amd64 image and runs it under Rosetta. Inside the container, github-auth.sh's `apt-get update` to install gh hangs in emulation — confirmed by `[rosetta] /usr/lib/apt/methods/http` processes sleeping forever. A native arm64 ubuntu:24.04 finishes the same apt-get update + curl install in ~12s; the amd64-emulated run was still stuck after 5+ minutes. Adds docker/setup-qemu-action + docker/setup-buildx-action and sets platforms: linux/amd64,linux/arm64 on the build-push step. Builds will take longer (arm64 layer compiles under QEMU on the amd64 runner), but the resulting multi-arch manifest gives Apple Silicon users native arm64 binaries and unblocks the sandbox flow. All current Dockerfiles (claude, codex, cursor, hermes, junie, kilocode, openclaw, opencode, pi) install via npm or arch-aware curl scripts, so they're already arch-portable. * ci(docker): verify the pushed manifest contains both architectures Post-build step runs `docker buildx imagetools inspect` and greps the manifest for both linux/amd64 and linux/arm64. Catches regressions where setup-qemu/buildx gets dropped or the `platforms:` flag gets lost in a future refactor — silent single-arch publishes would be invisible until an Apple Silicon user hit the Rosetta hang again. One post-build step per matrix entry keeps the check local to the agent that was just pushed. --------- Co-authored-by: Claude <claude@anthropic.com> |
||
|---|---|---|
| .. | ||
| ISSUE_TEMPLATE | ||
| workflows | ||