Problem: The libjs-test262 job was failing — often — with “cargo is not installed for the toolchain 1.96.0”, while building the Rust crates. Cause: The job ran in an older CI image lacking 1.96.0 — making runtime rustup try to auto-install 1.96.0 the first time a proxied cargo ran. And because the build compiles multiple Rust crates in parallel, several cargo invocations hit the missing toolchain at once — and each started a rustup install of the same toolchain. And rustup apparently isn’t safe against concurrent installs: Its in-place component swap shuffles files out to a temp directory, and a crate that reads the toolchain mid-swap sees rustc — but not cargo. Whether it corrupts depends on timing — so the failure is intermittent, and a re-run usually “fixes” it. Fix: Update the job to the current ladybird-ci:2026.06.02 image — which already has 1.96.0 (with cargo) baked in — so no runtime install happens and there’s nothing to race. As an additional guard, also install the pinned toolchain *explicitly*, before the parallel build: so any install happens exactly once — and serially — rather than being raced. |
||
|---|---|---|
| .. | ||
| actions | ||
| ISSUE_TEMPLATE | ||
| workflows | ||
| CODEOWNERS | ||
| dependabot.yml | ||
| FUNDING.yml | ||