Rebuild the Zig toolchain image for ARM64 #353

Merged
binjovi-bot merged 1 commit from fix/zig-builder-arm64 into trunk 2026-09-13 16:31:15 +00:00
Owner

zelnet's first build after the ARM migration failed in its own check stage:

exec /bin/sh: exec format error
ERROR [check-run 4/4] RUN zig build check

registry.sean.farm/build/zig-builder:v8 is a single AMD64 manifest, and so is every tag before it (v4 through v8). There is no AMD64 node left, and the host binfmt registration was retired on 2026-09-12, so nothing on this cluster can execute an x86-64 binary. A probe pod of that exact image fails with exec format error on all five workers.

The Dockerfile needs no change. It already selects the zig and nfpm downloads per TARGETARCH with per-architecture checksums, and the bomutils, xar and kcov source builds carry the aarch64 fixes in their comments. zig-builder is also absent from the controller's multi-platform allow-list, so its build takes the daemon's own platform, which is ARM64 today. Bumping the version is the whole change: v9 is the same image built on the architecture that runs it.

scripts/check-binjovi-server-package.sh pinned the version exactly, which would have failed discovery before the build started. It is now a floor, the pattern the binjovi-package-publisher line directly above already uses: the floor keeps the property the exact pin stood for and lets a rebuild land. zdns-builder keeps its exact pin; it is a separate lane and a separate fix.

Checks run: scripts/check-binjovi-server-package.sh, scripts/lint-no-runtime-fetch.sh.

After release, sean/binjovi-plans repins zelnet to zig-builder:v9, along with binjovi-package-publisher:v11 and cast-render:v8, which were already rebuilt as multi-platform indexes on 2026-09-10.

https://claude.ai/code/session_01XdBRc9CHgFhAxCyHbdVtt6

zelnet's first build after the ARM migration failed in its own check stage: ``` exec /bin/sh: exec format error ERROR [check-run 4/4] RUN zig build check ``` `registry.sean.farm/build/zig-builder:v8` is a single AMD64 manifest, and so is every tag before it (v4 through v8). There is no AMD64 node left, and the host binfmt registration was retired on 2026-09-12, so nothing on this cluster can execute an x86-64 binary. A probe pod of that exact image fails with `exec format error` on all five workers. The Dockerfile needs no change. It already selects the zig and nfpm downloads per `TARGETARCH` with per-architecture checksums, and the bomutils, xar and kcov source builds carry the aarch64 fixes in their comments. `zig-builder` is also absent from the controller's multi-platform allow-list, so its build takes the daemon's own platform, which is ARM64 today. Bumping the version is the whole change: v9 is the same image built on the architecture that runs it. `scripts/check-binjovi-server-package.sh` pinned the version exactly, which would have failed discovery before the build started. It is now a floor, the pattern the `binjovi-package-publisher` line directly above already uses: the floor keeps the property the exact pin stood for and lets a rebuild land. `zdns-builder` keeps its exact pin; it is a separate lane and a separate fix. Checks run: `scripts/check-binjovi-server-package.sh`, `scripts/lint-no-runtime-fetch.sh`. After release, `sean/binjovi-plans` repins zelnet to `zig-builder:v9`, along with `binjovi-package-publisher:v11` and `cast-render:v8`, which were already rebuilt as multi-platform indexes on 2026-09-10. https://claude.ai/code/session_01XdBRc9CHgFhAxCyHbdVtt6
Rebuild the Zig toolchain image for ARM64
All checks were successful
binjovi/ci Binjovi completed the frozen plan
2b5a8d807f
Every zig-builder tag through v8 is a single AMD64 manifest. The fleet has
no AMD64 node since the migration, and the host binfmt registration was
retired on 2026-09-12, so nothing can execute an x86-64 binary. zelnet's
first build after that failed in its own check stage:

    exec /bin/sh: exec format error
    ERROR [check-run 4/4] RUN zig build check

The Dockerfile already selects zig and nfpm per TARGETARCH and carries the
aarch64 fixes for the bomutils, xar and kcov source builds, so v9 is the
same image built on the architecture that runs it. Only the version moves.

The server-package check pinned the version exactly. It is now a floor, as
the publisher version above it already is: the floor keeps the property the
exact pin stood for and lets a rebuild land.

Claude-Session: https://claude.ai/code/session_01XdBRc9CHgFhAxCyHbdVtt6
binjovi-bot deleted branch fix/zig-builder-arm64 2026-09-13 16:31:15 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/builder-images!353
No description provided.