Files
Bryan ChenandCopilot 5d00766502 Engineering - fail and retry a hung CLI clippy or cargo build step (#344307)
* 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>
2026-10-27 11:33:35 -07:00
..
2026-06-23 07:22:42 +00:00
2025-08-07 09:38:52 -07:00
2026-08-25 05:11:06 +00:00