Flaky CI Failure: Cache all Nix Outputs — runner disk exhausted (No space left on device)
flaky
## Flaky CI Failure: Cache all Nix Outputs — runner disk exhausted (No space left on device)
**Workflow:** Cache all Nix Outputs
**Failed run:** https://github.com/xmtp/libxmtp/actions/runs/26538277674
**Commit:** 6451ef940593493441daaaaa8fc576474d8b4ecd
**Failed jobs:** build (warp-ubuntu-latest-x64-16x)
### Summary
The `Build all flake outputs` step failed because the `warp-ubuntu-latest-x64-16x` runner exhausted its disk space (POSIX error 28) while compiling multiple cross-compilation targets in parallel. At least three Nix derivations failed with the same root cause — all were building `xmtp_mls` for different targets simultaneously when disk space ran out. No code is broken; this is a runner resource capacity failure.
### Error Details
```
error: Cannot build '/nix/store/ifx82iaq8kdld1249czld7jwif54b4zb-xmtpv3-i686-linux-android-i686-unknown-linux-android-1.11.0-dev.drv'.
> error: failed to write /build/source/target/i686-linux-android/release/deps/rustcofLFUf/lib.rmeta: No space left on device (os error 28)
> error: could not compile `xmtp_mls` (lib) due to 1 previous error; 1 warning emitted
error: Cannot build '/nix/store/zn4qq91bw5hrxn38q59d51yg0hxf38c5-bindings-node-js-napi-aarch64-unknown-linux-gnu-1.11.0-dev.drv'.
> error: failed to write to `/build/source/target/aarch64-unknown-linux-gnu/release/deps/rmetam5yQdl/full.rmeta`: No space left on device (os error 28)
> error: could not compile `xmtp_mls` (lib) due to 1 previous error; 1 warning emitted
> Internal Error: Build failed with exit code 101
error: Cannot build '/nix/store/pgyvw49s67kj5xp4ada1fcfaji61xvf8-bindings-node-js-napi-aarch64-unknown-linux-musl-1.11.0-dev.drv'.
> error: failed to write to `/build/source/target/aarch64-unknown-linux-musl/release/deps/rmetaOoLSrB/full.rmeta`: No space left on device (os error 28)
> error: could not compile `xmtp_mls` (lib) due to 1 previous error; 1 warning emitted
> Internal Error: Build failed with exit code 101
```
### Analysis
The `warp-ubuntu-latest-x64-16x` runner ran out of disk space while Nix built multiple cross-compilation targets in parallel (`i686-linux-android`, `aarch64-unknown-linux-gnu`, `aarch64-unknown-linux-musl`, plus other targets progressing concurrently). Each target builds a full copy of all intermediate artifacts for `xmtp_mls` and its dependencies, so the combined disk usage of parallel builds exceeds the runner's available disk.
This is an **infrastructure/capacity failure**, not a code or test failure. Possible mitigations:
1. Reduce Nix build parallelism (`--max-jobs`) to avoid concurrent disk saturation.
2. Run the Nix cache workflow on a runner with more disk space.
3. Add a disk-space cleanup step before the Nix build (e.g., remove pre-installed tools from the GitHub-hosted runner image).
4. Split the flake outputs across multiple jobs so each job builds a subset of targets.
---
*Reported by [Flaky Failure Watcher](https://github.com/xmtp/libxmtp/blob/main/.github/workflows/flaky-failure-watcher.yml)*
0 条评论