From 29bed9e58ed9fe3382ba25d1e66c372aa5bfe9d5 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 15 Oct 2026 00:11:56 +0000 Subject: [PATCH] fix: raise siso remote timeout for Windows clang-cl compiles Chromium's clang-cl rules use a 2 minute siso remote timeout. Heavy Windows compiles exceed it, fall back to local execution, and since local results are not cached they recompile on every warm build. Apply the existing macOS 10m bump to Windows clang-cl rules as well. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01GkpQ9nmAGxxVpwT8wPzfbC --- tools/main.star | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/main.star b/tools/main.star index 60f8848d..929c3d62 100644 --- a/tools/main.star +++ b/tools/main.star @@ -36,15 +36,18 @@ def init(ctx): "clang_large": step_config["platforms"]["default"], }) - # Chromium's clang rules carry a 2 minute timeout that siso applies - # client-side to the whole remote step (upload + RBE queue + execution - # + download). When it fires siso re-runs the compile locally, and on - # the 5-core / 14 GB macOS CI runners a local ThinLTO compile takes - # 5-10 minutes and lands on the critical path (75 such fallbacks in - # one release build). Give remote compiles a deadline that survives - # RBE queueing; local fallback stays as the safety net. + # Chromium's clang and clang-cl rules carry a 2 minute timeout that siso + # applies client-side to the whole remote step (upload + RBE queue + + # execution + download). When it fires siso re-runs the compile locally, + # which lands on the critical path: a local ThinLTO compile takes 5-10 + # minutes on the macOS CI runners (75 such fallbacks in one release + # build), and since local results are not cached, a few heavy Windows + # clang-cl compiles (e.g. desktop_window_tree_host_win.obj) rerun locally + # on every warm build. Give remote compiles a deadline that survives RBE + # queueing; local fallback stays as the safety net. + if runtime.os != "linux": for rule in step_config["rules"]: - if rule["name"].startswith("clang/") and rule.get("remote"): + if (rule["name"].startswith("clang/") or rule["name"].startswith("clang-cl/")) and rule.get("remote"): rule["timeout"] = "10m" # Add additional Windows SDK headers needed by Electron. Use