You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci/coverage on self-hosted runners fails with No such file or directory (os error 2) mid-compile. Root cause: [runner-disk-guard] pre-job hook on one runner aggressively prunes target/ dirs on OTHER co-located runners when host disk exceeds 85%.
Per-runner disk-guard scope — only prune actions-runner-N's own target dir, never a sibling's.
Active-job awareness — skip prune if any sibling runner has an active job.
Container isolation — if coverage runs in Docker, bind-mount a per-job target volume that's not on the shared host target path.
Pre-job lock — serialize disk-guard across runners via a host-level mutex.
Workaround
Push trivial commit to retrigger — sometimes the disk-guard doesn't fire if disk is under 85% at that moment. Non-deterministic.
Related
Task chore(deps): Bump axum from 0.7.9 to 0.8.8 #134 (completed) added per-PR target dir + CARGO_INCREMENTAL=0 — fixed one class of cross-PR target collisions but not this cross-runner race.
Summary
ci/coverageon self-hosted runners fails withNo such file or directory (os error 2)mid-compile. Root cause:[runner-disk-guard]pre-job hook on one runner aggressively prunestarget/dirs on OTHER co-located runners when host disk exceeds 85%.Evidence — PR #1019 (4 consecutive failures)
Typical log signature:
Impact
ci / gatefails becauseci/coveragefails.enforce_admins: truebranch protection blocks admin merge bypass.Proposed fixes (pick one)
actions-runner-N's own target dir, never a sibling's.Workaround
Push trivial commit to retrigger — sometimes the disk-guard doesn't fire if disk is under 85% at that moment. Non-deterministic.
Related
CARGO_INCREMENTAL=0— fixed one class of cross-PR target collisions but not this cross-runner race.paiml/.github/.github/workflows/sovereign-ci.yml