Skip to content

CI: Implement clangd-tidy as GitHub Action#117654

Merged
akien-mga merged 1 commit into
godotengine:masterfrom
Repiteo:ci/clangd-tidy-action
Mar 20, 2026
Merged

CI: Implement clangd-tidy as GitHub Action#117654
akien-mga merged 1 commit into
godotengine:masterfrom
Repiteo:ci/clangd-tidy-action

Conversation

@Repiteo
Copy link
Copy Markdown
Contributor

@Repiteo Repiteo commented Mar 19, 2026

Replaces our current clang-tidy checker in CI with a clangd-tidy equivalent. This integrates the more lightweight checker in a way that's directly integrated with our repository & should have a wider coverage than the clang-tidy pre-commit hook

Example output on filtered files can be viewed on this runner from a dummy commit.

@Repiteo Repiteo added this to the 4.x milestone Mar 19, 2026
@Repiteo Repiteo requested a review from akien-mga March 19, 2026 20:44
@Repiteo Repiteo requested a review from a team as a code owner March 19, 2026 20:44
@Repiteo Repiteo force-pushed the ci/clangd-tidy-action branch from b8e4117 to 84c7106 Compare March 19, 2026 20:46
@akien-mga
Copy link
Copy Markdown
Member

Does it currently pass if running manually on all files (except the ones excluded by the changed-files logic)?

Also, running it on all files is pretty slow (more than one hour on my laptop) so it may timeout on CI. This may turn out to be problematic on big codebase wide changes. If so we might want to put a threshold on how many files the changed-files action returns, and bail out if it's too high.

@Repiteo Repiteo force-pushed the ci/clangd-tidy-action branch 3 times, most recently from 7961041 to 1ebe2eb Compare March 20, 2026 00:19
@Repiteo

This comment was marked as outdated.

@Repiteo Repiteo force-pushed the ci/clangd-tidy-action branch 4 times, most recently from a8d56dd to 39ef375 Compare March 20, 2026 03:34
@Repiteo Repiteo requested review from a team as code owners March 20, 2026 03:34
@Repiteo Repiteo force-pushed the ci/clangd-tidy-action branch from 39ef375 to 5538887 Compare March 20, 2026 03:50
@Repiteo Repiteo removed request for a team March 20, 2026 14:07
@Repiteo Repiteo removed the request for review from a team March 20, 2026 14:07
@Repiteo Repiteo force-pushed the ci/clangd-tidy-action branch 2 times, most recently from e11e8ba to 06cef35 Compare March 20, 2026 14:10
@Repiteo
Copy link
Copy Markdown
Contributor Author

Repiteo commented Mar 20, 2026

The workflow now passes when run across all filtered files! What's more: the time it would take to run against every passable file is ~45 minutes1, so undeniably a step up from the speed of clang-tidy despire having to process many more files. I can't imagine a scenario where we'd be adjusting that many files in the first place, so I think it'd be safe to keep the integration as-is

Footnotes

  1. https://github.com/godotengine/godot/actions/runs/23328268617/job/67854140563

@Repiteo Repiteo force-pushed the ci/clangd-tidy-action branch from 06cef35 to 0e8bd28 Compare March 20, 2026 14:16
@akien-mga akien-mga modified the milestones: 4.x, 4.7 Mar 20, 2026
@akien-mga akien-mga merged commit 4a28021 into godotengine:master Mar 20, 2026
20 checks passed
@akien-mga
Copy link
Copy Markdown
Member

Thanks! Great work 🎉

@Repiteo Repiteo deleted the ci/clangd-tidy-action branch March 20, 2026 23:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants