fabro/lib/crates/fabro-cli/tests/it
Bryan Helmkamp 828d686a6f
feat(release): add x86_64 and aarch64 musl Linux targets
Extend the release matrix to two statically-linked musl variants so
Alpine and other musl-based Linux hosts can install without glibc.
Homebrew and the Docker image remain glibc-only.

- release.yml: add x86_64-unknown-linux-musl (ubuntu-24.04) and
  aarch64-unknown-linux-musl (ubuntu-24.04-arm) matrix rows with
  musl-tools, CC_*_musl, CARGO_TARGET_*_LINKER, and LIBZ_SYS_STATIC
- Cargo.toml: enable git2 vendored-libgit2 so libgit2 compiles from
  source for every target (needed because musl cannot link against
  Ubuntu's glibc-built libgit2-dev)
- install.sh: check `ldd --version` for "musl" and rewrite the target
  from -gnu to -musl so Alpine users get the right tarball
- upgrade.rs: add detect_linux_libc() / parse_ldd_libc() helper and
  route detect_target() Linux arms through it, with unit tests
  covering glibc, musl, empty, and unknown output
- tests/it: extend target regex in the dry-run snapshot filter

Ubuntu 24.04 is required for the musl runner: 22.04 ships musl 1.2.2
which SIGSEGVs statically-linked x86_64 test binaries at startup.
Confirmed against graphviz-sys CI before landing here.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 01:00:51 -04:00
..
cmd feat(release): add x86_64 and aarch64 musl Linux targets 2026-04-18 01:00:51 -04:00
scenario ci: switch clippy to pinned nightly, clean up workspace lints 2026-04-16 18:59:11 -04:00
support fix(test): update snapshots for version and --prerelease flag 2026-04-17 07:31:40 -04:00
workflow ci: switch clippy to pinned nightly, clean up workspace lints 2026-04-16 18:59:11 -04:00
main.rs chore(lint): fix all clippy warnings including --tests 2026-04-10 10:16:24 -04:00