From a411ee5cfe57ea1d64cd5c288be9cd75a7c985f4 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 30 Sep 2026 18:19:19 +0000 Subject: [PATCH] fix: include clang-tidy in siso clang toolchain subtree siso uploads the third_party/llvm-build/Release+Asserts:headers filegroup as a precomputed subtree and skips any other input under that directory. The electron/clang-tidy rule lists third_party/llvm-build/Release+Asserts/bin/clang-tidy as an explicit input, which only reached the RBE workers because Chromium's glob included bin/clang-*. https://crrev.com/c/8471431 narrowed that glob to bin/clang-cl, bin/clang-cl.exe and bin/clang-[0-9]*, so clang-tidy is now dropped and the remote tidy steps fail with exit 127 ("clang-tidy: No such file or directory"). Add bin/clang-tidy back to the filegroup's includes. This is a no-op on older Chromium, where bin/clang-* already matches it. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01V38FjDEdZgMvFpf5Fmp65m --- tools/main.star | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/main.star b/tools/main.star index bcbc736e..60f8848d 100644 --- a/tools/main.star +++ b/tools/main.star @@ -142,6 +142,14 @@ def init(ctx): step_config["rules"].insert(0, tidy_rule) filegroups = dict(mod.filegroups) + # siso uploads this filegroup as a precomputed subtree and drops other + # inputs under it, including the clang-tidy input of the rule above. + # Chromium narrowed its bin/clang-* glob in crrev.com/c/8471431, so add + # clang-tidy back. + llvm_headers = "third_party/llvm-build/Release+Asserts:headers" + if llvm_headers in filegroups: + filegroups[llvm_headers] = dict(filegroups[llvm_headers]) + filegroups[llvm_headers]["includes"] = filegroups[llvm_headers]["includes"] + ["bin/clang-tidy"] filegroups["electron/shell:clang_tidy_configs"] = { "type": "glob", "includes": [".clang-tidy"],