CI: Tiny Dancer aarch64-unknown-linux-musl build broken by rust-toolchain/zig version drift
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 4.5k
- Forks
- 603
- Avg merge
- 23h 32m
- Merged PRs (30d)
- 59
Description
Symptom
Build Tiny Dancer linux-arm64-musl fails while compiling redb 2.6.3 (a third-party dependency), before any tiny-dancer source is reached:
error: linking with `zig-linker-aarch64-unknown-linux-musl.sh` failed: exit status: 1
= note: error: unsupported linker arg: --fix-cortex-a53-843419
error: could not compile `redb` (lib) due to 1 previous error
Root cause — version drift baked into the workflow
.github/workflows/build-tiny-dancer.yml uses a floating toolchain: stable (line ~83) while pinning zig 0.13.0 (line ~104). Stable Rust's aarch64-unknown-linux-musl target spec now emits the Cortex-A53 erratum workaround flag --fix-cortex-a53-843419, and zig 0.13.0's linker rejects it as unsupported.
Evidence it is drift, not a code regression
linux-x64-musltakes the identical zig path and passes — only the aarch64-specific erratum flag fails.- The failure is in a third-party dependency, before first-party code compiles.
- This workflow is path-filtered and last ran successfully on 2026-08-03. It has had no run in ~3 weeks, so the first PR to touch
crates/ruvector-tiny-dancer-*surfaces drift that accumulated in the interim — it does not cause it.
Surfaced by PR #893 (PIR WP28), whose diff is pure .rs across three tiny-dancer crates with no .toml, build.rs, .cargo/, or workflow changes and no new dependencies.
Suggested fix (separate CI PR, not in a feature PR)
Either pin the Rust toolchain to a version whose aarch64-musl spec predates the flag, or bump zig to a release whose linker accepts --fix-cortex-a53-843419. Pinning both sides is preferable to leaving one floating against the other, since that is what allowed the two to drift apart silently for three weeks.
Related, separate pre-existing failure
The same runs show Clippy + fmt failing on main as well, from ~31 rustfmt diffs in crates/ruvector-agent-memory/{diagnostic,fusion,observation}.rs — files from earlier PIR work packages, unrelated to this workflow. Worth a small fix(fmt) PR once PIR WP27 (#891), which is currently editing fusion.rs, has merged — doing it sooner would conflict.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in .github/workflows/build-tiny-dancer.yml around the Rust toolchain and Zig version settings. Check compatible pinned versions for the aarch64-unknown-linux-musl target, then run or inspect the Build Tiny Dancer linux-arm64-musl workflow. Done means the aarch64-musl build completes without the unsupported linker-argument error while the existing linux-x64-musl path remains successful.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, zig
- Domain
- build-system, ci-cd
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100