fabro/docs
Bryan Helmkamp 8da81fdf9e
fix(release): build musl targets via cargo-zigbuild to fix arm64 SIGSEGV
The shipped aarch64-unknown-linux-musl binary segfaulted at startup on
every arm64 runtime (Apple Silicon, Graviton, Ampere, Docker arm64).
Root cause: a glibc-vs-musl .init_array calling-convention mismatch --
a C static library in the dep graph has an __attribute__((constructor))
that expects (argc, argv, envp) per glibc, but musl on aarch64 calls
it with no args, so register garbage propagates into pointer arithmetic
and faults before main runs.

Switch the musl compile steps to cargo-zigbuild (zig 0.13.0). Zig's
bundled cc + lld produce working static-PIE binaries for both musl
targets, sidestepping Ubuntu musl-tools' -no-pie quirk and the
init_array ordering that triggered the crash. Drop the CARGO_TARGET_*
linker overrides and the musl-tools apt install -- zig handles both.

bin/dev/docker-build.sh mirrors the same toolchain so the local Docker
image build matches CI.

Verified by running fabro version from the resulting arm64 image on
ghcr.io/fabro-sh/dhi-alpine-base:3.23-dev, alpine:3.22, and
debian:stable-slim -- all print the version banner with exit 0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 16:01:45 -04:00
..
administration feat(railway): deploy from prebuilt GHCR image instead of source build 2026-04-18 15:24:22 -04:00
agents refactor(config): move project state under .fabro 2026-04-11 12:55:46 -04:00
api-reference feat(cli): surface debug build profile in version output 2026-04-18 09:44:54 -04:00
brainstorms feat(cli): add --prerelease to fabro upgrade 2026-04-16 20:20:14 -04:00
changelog fix(release): build musl targets via cargo-zigbuild to fix arm64 SIGSEGV 2026-04-18 16:01:45 -04:00
core-concepts docs: migrate reference and guide examples to v2 config shape 2026-04-09 11:30:52 -04:00
examples feat(template): unify workflow and config template syntax 2026-04-11 10:58:50 -04:00
execution refactor(config): move project state under .fabro 2026-04-11 12:55:46 -04:00
getting-started ci(release): attest SLSA build provenance for binaries and image 2026-04-18 15:05:32 -04:00
human-tools docs: migrate reference and guide examples to v2 config shape 2026-04-09 11:30:52 -04:00
ideation docs 2026-04-09 17:24:30 -04:00
images Cut over Fabro web app to a server-backed SPA 2026-04-01 21:36:01 -07:00
integrations docs: update changelog and docs for Apr 14–16 changes 2026-04-16 08:01:59 -04:00
languages Add fabro language for syntax highlighting in docs 2026-03-17 09:43:14 -04:00
logo Fix logo SVG viewBox clipping the right edge of the O 2026-03-14 14:11:36 -04:00
plans plans 2026-04-18 12:36:41 -04:00
reference ci(release): attest SLSA build provenance for binaries and image 2026-04-18 15:05:32 -04:00
tutorials Attractor spec hunks 14 & 16: remove error_policy and k_of_n/quorum from parallel handler 2026-03-23 14:59:35 -04:00
workflows refactor(config): move project state under .fabro 2026-04-11 12:55:46 -04:00
.mintignore Fix Mintlify dev server: valid navbar URL and ignore AGENTS.md 2026-03-05 16:29:50 -05:00
docs.json ci(release): attest SLSA build provenance for binaries and image 2026-04-18 15:05:32 -04:00
dot-highlight.js Remove debug markers from dot-highlight script 2026-03-17 10:23:48 -04:00
favicon.svg Rebrand docs site from Arc to Fabro 2026-03-11 21:27:58 -04:00