Commit Graph
5 Commits
Author SHA1 Message Date
Jon Ross-Perkins 6db13532ca Try using clangd-tidy (#5763)
Run clangd-tidy in parallel with clang-tidy, to experimentally see
whether it works reasonably well. These may produce slightly different
results, and it's not clear that clangd-tidy will be better, so being
cautious about switching.

A real possibility here is this is slower in some cases (building
compile commands takes ~6m below), but faster in the extremely slow
cases (when clang-tidy takes >10m).

For contrast:

- clang-tidy:
https://github.com/carbon-language/carbon-lang/actions/runs/16038096026/job/45254162180?pr=5763
- clangd-tidy:
https://github.com/carbon-language/carbon-lang/actions/runs/16038096427/job/45254164217?pr=5763
2025-07-08 14:00:15 +00:00
Jon Ross-Perkins 381a01f673 Fix clang-tidy action handling of deletes (#5162)
Example error I'm trying to fix:

https://github.com/carbon-language/carbon-lang/actions/runs/13979696174/job/39142020031

file_system.cpp is deleted and not part of any targets. It should be
excluded from the query.
2025-03-20 23:25:42 +00:00
Jon Ross-Perkins 24c173b10f Try using same_pkg_direct_rdeps for clang-tidy action (#5144)
This is trying to reduce how much we run tidy over due to poor
performance of tidy.

It's opening the door for issues where a header file is modified in a
way that introduces tidy issues in a different target. However, that's
not the typical tidy issue we see.

There may also be a risk where a source file indirectly becomes a source
file for a target in a way that `same_pkg_direct_rdeps` doesn't return,
but I'm not sure that's applicable for how we use targets.

An example of this locating a diagnostic error can be found in the "Add
tidy issue" commit's run (which I cancelled before it finished running,
but note the error):

https://github.com/carbon-language/carbon-lang/actions/runs/13932649182/job/38993348130?pr=5144
2025-03-18 21:04:29 +00:00
Jon Ross-Perkins fe5d3cecbd Try running 'bazel cquery //...' before target-determinator (#4531)
Trying to improve robustness against failures such as
[here](https://github.com/carbon-language/carbon-lang/actions/runs/11845529962/job/33011203628):

```
WARNING: Download from https://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.xz failed: class java.net.ConnectException Connection refused
```

Which is coming from the target-determinator invocation:

```
subprocess.CalledProcessError: Command '['/home/runner/.cache/carbon-lang-scripts/target-determinator', '--bazel=/usr/local/bin/bazelisk', 'a720921dfb99c21f08832663c91a1f9e48a1bcc4']' returned non-zero exit status 1.
```

My thought is that the `bazel cquery` should trigger equivalent
downloads (equally though, I'd thought the `bazel mod deps` would do
that, so I don't want to give the impression of confidence).

It's harder to inject this into the target-determinator command line,
since we'd need something that retries by default.
2024-11-15 01:01:24 +00:00
Jon Ross-Perkins 249709cb49 Split out clang-tidy to not run in merge (#4428)
Because clang-tidy is slow (and I'm not sure we can make it really
fast), trying to run it slightly less. Also, I noticed we can shave a
few minutes by disabling apt removal without losing too much free space.

Note that since this removes the old clang-tidy, I'll need to change the
branch protections before merging.
2024-10-21 19:59:40 +00:00