Add pre-commit check for invalid build graph state (#5658)

This can catch things like dependency cycles introduced by
`fix-cc-deps`.
This commit is contained in:
Geoff Romer
2025-06-12 21:25:48 +00:00
committed by GitHub
parent 3689a3b3e4
commit 0ccde0b68b
2 changed files with 36 additions and 0 deletions
+13
View File
@@ -229,6 +229,19 @@ repos:
.*/testdata/.*\.golden
)$
- id: check-links
- repo: local
hooks:
- id: check-build-graph
name: Check build graph
entry: scripts/check_build_graph.py
language: python
files: |
(?x)^(
.*BUILD.*|
.*MODULE.bazel.*|
.*WORKSPACE.*|
.*\.bzl
)$
# This excludes third-party code, and patches to third-party code.
exclude: |
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env python3
"""Verify that the bazel build graph is in a valid state, for pre-commit."""
__copyright__ = """
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
"""
import subprocess
import scripts_utils
def main() -> None:
scripts_utils.chdir_repo_root()
bazel = scripts_utils.locate_bazel()
subprocess.check_call([bazel, "build", "--nobuild", "//..."])
if __name__ == "__main__":
main()