mirror of
https://github.com/luxfi/chains.git
synced 2026-09-24 00:26:00 +00:00
Dockerfile.plugin compiles nothing: it copies build/<vm>, the binary the step above it produces with `go build` on the runner, so the architecture of the image is the architecture of the machine that ran that build. Asking one amd64 runner for two platforms would stamp an arm64 manifest onto an amd64 ELF — an image that pulls on an arm64 host and dies with `exec format error`, which is worse than the amd64-only manifest it replaces, because the manifest promises it will run. One job per architecture compiles natively (evm's CGO included, no cross-toolchain, no emulation) and pushes <image>:sha-<sha7>-<arch>. A merge job joins the pair under the release names and refuses to be green unless every one of them carries both platforms.