Skip to content

fix(publish): build the image for arm64 too - #533

Merged
svalleru merged 2 commits into
mainfrom
publish-arm64
Sep 16, 2026
Merged

svalleru merged 2 commits into
mainfrom
publish-arm64

Conversation

@svalleru

@svalleru svalleru commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

E2B Embed pins this image and supports arm64 hosts, and the published image is linux/amd64 only. The publish workflow now sets up QEMU and builds a linux/amd64,linux/arm64 manifest list on the push path. The dry run keeps a single platform, because --load can only hold one image in the local daemon. The arm64 half runs its Bun install and Next build under emulation on purpose: cross-building on amd64 would ship amd64-only native modules (sharp) inside the standalone output. The job timeout moves from 30 to 90 minutes to allow for it. README names both platforms. Sponsor: @svalleru.

Verification

  • vitest run tests/unit/publish-workflow.test.ts passes (asserts the platform list and the QEMU action; every action stays SHA-pinned with a version comment).
    The title is a fix on purpose: a release whose image cannot be pulled on arm64 is a defect in the released artifact, so merging this opens the 0.2.1 release PR and that tag publishes the first multi-arch image.

Risk & rollout

Publish takes longer (emulated arm64 build). Existing tags are unaffected; Embed re-pins to the first multi-arch release in its own PR.

E2B Embed pins this image and runs on arm64 hosts. The push path builds a
linux/amd64,linux/arm64 manifest list with QEMU for the arm64 half; the dry
run keeps a single platform because --load can only hold one.
@cla-bot cla-bot Bot added the cla-signed label Sep 16, 2026
@svalleru svalleru changed the title ci(publish): build the image for arm64 too fix(publish): build the image for arm64 too Sep 16, 2026
@svalleru
svalleru marked this pull request as ready for review September 16, 2026 21:12

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing blocking. The comments below are optional suggestions. There is no need to push a fix for them before merging.

Additional findings (outside the current diff — GitHub can't attach inline comments there):

  • 🟡 tests/unit/publish-workflow.test.ts — nit: the file-level docstring still says these tests guard "the single architecture", but the assertions below now check for a two-platform (linux/amd64,linux/arm64) build, so the comment misdescribes what the test actually enforces. Fix: update the docstring to mention both platforms so it stays accurate for maintainers reading the test file.

    Extended reasoning...

    The docstring at tests/unit/publish-workflow.test.ts:5-9 was written when publish.yml only built linux/amd64 and says the tests guard "the registry it pushes to, the single architecture, and the attestation switches". This PR changes the assertion at line 36 to require 'platforms=linux/amd64,linux/arm64' and adds a check for the QEMU action, but leaves the docstring text unchanged. A maintainer reading only the docstring (not the assertions) would wrongly believe the published image is still single-arch, which is stale and misleading documentation introduced by this diff.

    Verification: nit: Stale comment. The file-level docstring at tests/unit/publish-workflow.test.ts:5-9 states the assertions "guard the flags it cannot go without: the registry it pushes to, the single architecture, and the attestation switches". The diff changed the assertion at line 36 from '--platform linux/amd64' to 'platforms=linux/amd64,linux/arm64' and added 'docker/setup-qemu-action@' at line 37, so…

The file docstring still described a single-architecture build after the
assertions moved to linux/amd64,linux/arm64 (review nit on #533).
@svalleru
svalleru merged commit 8ca65cd into main Sep 16, 2026
9 checks passed
@svalleru
svalleru deleted the publish-arm64 branch September 16, 2026 21:51
svalleru pushed a commit that referenced this pull request Sep 16, 2026
🤖 I have created a release *beep* *boop*
---


## [0.2.1](v0.2.0...v0.2.1)
(2026-09-16)


### Bug Fixes

* **publish:** build the image for arm64 too
([#533](#533))
([8ca65cd](8ca65cd))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: e2b-generated-code-auto-fixer[bot] <257264331+e2b-generated-code-auto-fixer[bot]@users.noreply.github.com>
@linear-code

linear-code Bot commented Sep 17, 2026

Copy link
Copy Markdown

EN-2779

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants