Skip to content

node-ci-build: optional multi-arch docker builds (platforms input) - #2

Open
Michael-Ixo wants to merge 1 commit into
mainfrom
feat/skip-deploy-and-multiarch
Open

node-ci-build: optional multi-arch docker builds (platforms input)#2
Michael-Ixo wants to merge 1 commit into
mainfrom
feat/skip-deploy-and-multiarch

Conversation

@Michael-Ixo

Copy link
Copy Markdown
Member

Adds an optional platforms input to node-ci-build.yml for multi-arch image publishing:

with:
  platforms: 'linux/amd64,linux/arm64'
  • When set: QEMU + buildx setup steps run and the platform list is passed to docker/build-push-action → a multi-arch manifest is pushed.
  • When empty (default): zero behavior change — no QEMU/buildx steps (both are if:-gated), and platforms: '' is treated as omitted by build-push-action, so existing callers keep their current single-arch builds.

Why: first consumer is a docker image of the subscriptions-api Cloudflare Worker for the ixo-testing-harness (run the real worker locally/CI without a source checkout). It runs workerd/V8, which is flaky under Rosetta emulation on Apple Silicon — a native arm64 variant avoids that class of failure. Any other dev/e2e image pulled on M-series laptops benefits the same way.

Note for mergers: the ixoworld/ixo-github-actions copy is currently at the same SHA as this repo's main — after merging, please sync it there too (callers reference both org copies).

Authored by: Michael Pretorius michael@ixo.world

…rms input

Adds an optional `platforms` input (e.g. "linux/amd64,linux/arm64") to the
node build/publish workflow. When set, QEMU + buildx are configured and the
platform list is passed to docker/build-push-action; when empty (default)
the behavior is exactly as before — single-arch on the runner architecture,
plain docker driver, no extra setup steps.

Motivation: images meant for local/e2e use (first consumer: the
subscriptions-api worker image for ixo-testing-harness) run workerd/V8,
which is unreliable under Rosetta emulation on Apple Silicon — a native
arm64 variant sidesteps that entirely.

Authored by: Michael Pretorius <michael@ixo.world>
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