mirror of
https://github.com/microsoft/vscode.git
synced 2026-10-28 13:26:52 +08:00
* Engineering - fail and retry a hung CLI clippy step On Windows, cargo clippy in the CLI Lint step occasionally hangs until the 90-min job timeout (#344111, 5 hits since Sep 28). The step already has retryCountOnTaskFailure, but a step timeout cancels the step and the agent never retries a cancelled step. Run clippy through a small runner that fails it after 10 min (the step takes ~1 min), kills its process tree and stops the sccache server, so the existing retry runs instead. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Engineering - bound the clippy timeout cleanup Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Engineering - kill a hung clippy timeout cleanup with its process tree Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Engineering - also fail and retry a hung CLI cargo build The 11:00 insider 489779 failed when `cargo build` in Windows (ARM64) CLI Compile hung for 90 min until the job timed out, the same class of hang as the clippy one. Run the Windows and macOS compile through runWithTimeout with a 20 min deadline (the step takes 1.5-4 min), so the step's retry runs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Engineering - stop the command when runWithTimeout itself is cancelled On POSIX the command runs in its own process group so its whole tree can be killed at the deadline. That also means a SIGINT/SIGTERM/SIGHUP to the script, for example from a cancelled pipeline step, didn't reach it: the script exited and cargo or rustc kept running with no deadline. Kill the command's tree and exit with 128+signal, and remove the handlers once the command finishes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>