Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • bazel/pre-commit-hooks
1 result
Show changes
Commits on Source (11)
.cache
e2e
# Use pre-release registry. Remove when available in BCR
common --registry https://bcr.bazel.build
common --registry=https://gitlab.arm.com/bazel/pre-commit/-/releases/v1.0.4/downloads
common --registry=https://gitlab.arm.com/bazel/pre-commit/-/releases/v1.0.7/downloads
# Enable hermetic `rules_python`
common --@rules_python//python/config_settings:bootstrap_impl=script
......
8.1.1
8.2.1
include:
- component: "${CI_SERVER_HOST}/ci/component/bazelisk/ruleset@v1.2.1"
- component: "${CI_SERVER_HOST}/ci/component/bazelisk/ruleset@v1.5.0"
inputs:
oses:
- linux
- macos
configs:
- local
# FIXME: Revert to defaults once `--repo_contents_cache` is resolved
versions:
- 7.4.0
- 7.x
- 8.2.1
hooks:
extends: .job
......
......@@ -23,6 +23,7 @@ pre_commit_hooks(
name = "pre-commit-hooks",
srcs = [
"//buildifier",
"//clang-format",
"//ruff",
"//shellcheck",
"//shfmt",
......
# [1.2.0](https://git.gitlab.arm.com/bazel/pre-commit-hooks/compare/v1.1.0...v1.2.0) (2025-07-15)
### Bug Fixes
- fix README.md typos ([3160309](https://git.gitlab.arm.com/bazel/pre-commit-hooks/commit/3160309f6815b8453dfcc7acf05ac2c323543575))
- upgrade to `pre-commit@1.0.7` ([a196167](https://git.gitlab.arm.com/bazel/pre-commit-hooks/commit/a196167f7020f9052327953df42f455fe4bd51a0))
### Features
- add 'clang-format' hook ([2d5459b](https://git.gitlab.arm.com/bazel/pre-commit-hooks/commit/2d5459bd2fe86f6357b745f0bd92072a66b23137))
# [1.1.0](https://git.gitlab.arm.com/bazel/pre-commit-hooks/compare/v1.0.0...v1.1.0) (2025-03-10)
### Bug Fixes
......
module(
name = "pre-commit-hooks",
version = "1.1.0",
version = "1.2.0",
compatibility_level = 1,
)
bazel_dep(name = "rules_license", version = "1.0.0")
bazel_dep(name = "pre-commit", version = "1.0.4")
bazel_dep(name = "pre-commit", version = "1.0.7")
bazel_dep(name = "buildifier_prebuilt", version = "8.0.0")
bazel_dep(name = "download_utils", version = "1.0.1")
bazel_dep(name = "toolchain_utils", version = "1.2.0")
bazel_dep(name = "rules_shellcheck", version = "0.3.3")
bazel_dep(name = "llvm-project", version = "17.0.3.bcr.2")
bazel_dep(name = "rules_python", version = "1.0.0", dev_dependency = True)
bazel_dep(name = "hermetic_cc_toolchain", version = "3.1.0", dev_dependency = True)
......@@ -62,3 +63,19 @@ download_file = use_repo_rule("@download_utils//download/file:defs.bzl", "downlo
# ("arm64-windows", "windows_arm64", ".exe", ""), Currently doesn't have binary for arm64 Windows.
)
]
# Clang-format amd64 binaries
[
download_file(
name = "clang-format-{}-amd64".format(os),
executable = True,
integrity = integrity,
output = "clang-format-{}-amd64".format(os),
urls = ["https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-46b8640/clang-format-17_{}-amd64{}".format(os, ext)],
)
for os, ext, integrity in (
("linux", "", "sha256-+PWRCQMgf/LM5fP8YhH/sbPC3R7d+qFc3qqCPvukwME="),
("macosx", "", "sha256-J1FgM5qc7iz80O1HpAiBAgACpb0Dbl2y0ITYWlzBKHs="),
("windows", ".exe", "sha256-UXCzva+NhYCQtnPGPSxuFuA8qg6LNx4aMSaEvP2l8oM="),
)
]
This diff is collapsed.
......@@ -7,18 +7,18 @@
Add the following to `MODULE.bazel`:
```py
bazel_dep("pre-commit", version = "<version>")
bazel_dep("pre-commit-hooks", version = "<version>")
bazel_dep(name = "pre-commit", version = "<version>")
bazel_dep(name = "pre-commit-hooks", version = "<version>")
```
Create a `hooks` directory to create the `pre-commit` configuration:
```py
load("@pre-commit//pre-commit/defs.bzl", "pre_commit")
load("@pre-commit//pre-commit:defs.bzl", "pre_commit")
pre_commit(
name = "hooks",
deps = ["@pre-commit-hooks"],
srcs = ["@pre-commit-hooks"],
)
```
......
load("@pre-commit//pre-commit/hook:defs.bzl", "pre_commit_hook")
load("@toolchain_utils//toolchain/symlink/target:defs.bzl", "toolchain_symlink_target")
alias(
name = "exe",
actual = select(
{
"@toolchain_utils//toolchain/constraint:amd64-linux": "@clang-format-linux-amd64//:clang-format-linux-amd64",
"@toolchain_utils//toolchain/constraint:arm64-linux": "@llvm-project//clang:clang-format",
"@toolchain_utils//toolchain/constraint:amd64-macos": "@clang-format-macosx-amd64//:clang-format-macosx-amd64",
"@toolchain_utils//toolchain/constraint:arm64-macos": "@llvm-project//clang:clang-format",
"@toolchain_utils//toolchain/constraint:amd64-windows": "@clang-format-windows-amd64//:clang-format-windows-amd64.exe",
},
no_match_error = "No hermetic `clang-format` found for `//pre-commit/hook/clang-format:cli`. Please set it to a hermetic `clang-format` download in `MODULE.bazel` for the current host platform.",
),
)
toolchain_symlink_target(
name = "cli",
target = ":exe",
)
pre_commit_hook(
name = "clang-format",
src = ":cli",
args = [
"-i",
],
description = "Performs formatting using `clang-format` on various file types.",
stages = ["@pre-commit//pre-commit/stage:pre-commit"],
summary = "Format various file types with `clang-format`",
types_or = [
"@pre-commit//pre-commit/tag:c",
"@pre-commit//pre-commit/tag:c++",
],
visibility = ["//visibility:public"],
)
# Use pre-release registry. Remove when available in BCR
common --registry https://bcr.bazel.build
common --registry=https://gitlab.arm.com/bazel/pre-commit/-/releases/v1.0.4/downloads
common --registry=https://gitlab.arm.com/bazel/pre-commit/-/releases/v1.0.7/downloads
# Enable hermetic `rules_python`
common --@rules_python//python/config_settings:bootstrap_impl=script
......
8.1.1
8.2.1
This diff is collapsed.
......@@ -49,6 +49,17 @@ repos:
entry: bazel run --config=pre-commit -- //ruff:format
types:
- python
- id: //clang-format
name: Format various file types with `clang-format`
description: Performs formatting using `clang-format` on various file types.
language: system
require_serial: true
stages:
- pre-commit
entry: bazel run --config=pre-commit -- //clang-format
types_or:
- c
- c++
- id: //shellcheck
name: Lint Shell files with `shellcheck`
description: Performs linting with `shellcheck` against Shell files.
......