Skip to content

Commit 94bb56a

Browse files
authored
Add buildifier_prebuilt to facilitate running buildifier (#242)
When implementing #241 , I ran into a buildifier error and didn't have a good way for running it locally to address the CI errors. To make developers more consistent with CI, this introduces [buildifier_prebuilt](https://github.com/keith/buildifier-prebuilt) as a development dependency and sets up `buildifier.[check|diff|fix]` rules in `BUILD.bazel` to run. CI now runs `bazel run //:buildifier.check` and developers can run `bazel run //:buildifier.fix` to apply the changes.
1 parent 061afe6 commit 94bb56a

File tree

4 files changed

+50
-8
lines changed

4 files changed

+50
-8
lines changed

.github/workflows/ci.yaml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -123,20 +123,13 @@ jobs:
123123
env:
124124
USE_BAZEL_VERSION: 7.x
125125

126-
127126
ci-buildifier:
128127
runs-on: ubuntu-latest
129128
steps:
130129
# Checkout the code
131130
- uses: actions/checkout@v4
132131
- name: Buildifier
133-
run: |
134-
wget "https://github.com/bazelbuild/buildtools/releases/download/v${BUILDIFIER_VERSION}/buildifier-linux-amd64" -O buildifier
135-
chmod +x ./buildifier
136-
./buildifier -lint=warn -mode=check -warnings=all -r ${{ github.workspace }}
137-
rm ./buildifier
138-
env:
139-
BUILDIFIER_VERSION: 8.0.2
132+
run: bazel run //:buildifier.check
140133

141134
ci-gofmt:
142135
runs-on: ubuntu-latest

BUILD.bazel

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
load("@gazelle//:def.bzl", "gazelle")
22

3+
alias(
4+
name = "buildifier.check",
5+
actual = "//tools/buildifier:check",
6+
)
7+
8+
alias(
9+
name = "buildifier.diff",
10+
actual = "//tools/buildifier:diff",
11+
)
12+
13+
alias(
14+
name = "buildifier.fix",
15+
actual = "//tools/buildifier:fix",
16+
)
17+
318
exports_files(
419
[
520
"README.md",

MODULE.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ bazel_dep(name = "rules_img", version = "0.2.6", dev_dependency = True)
2020
bazel_dep(name = "stardoc", version = "0.8.0", dev_dependency = True)
2121
bazel_dep(name = "rules_rust_mdbook", version = "0.66.0", dev_dependency = True)
2222
bazel_dep(name = "rules_shell", version = "0.5.1", dev_dependency = True)
23+
bazel_dep(name = "buildifier_prebuilt", version = "8.5.1", dev_dependency = True)
2324

2425
go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk")
2526
go_sdk.download(version = "1.25.4")

tools/buildifier/BUILD.bazel

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
load("@buildifier_prebuilt//:rules.bzl", "buildifier")
2+
3+
package(default_visibility = ["//:__subpackages__"])
4+
5+
buildifier(
6+
name = "check",
7+
exclude_patterns = [
8+
"./.git/*",
9+
],
10+
lint_mode = "warn",
11+
lint_warnings = ["all"],
12+
mode = "check",
13+
)
14+
15+
buildifier(
16+
name = "diff",
17+
exclude_patterns = [
18+
"./.git/*",
19+
],
20+
lint_mode = "warn",
21+
lint_warnings = ["all"],
22+
mode = "diff",
23+
)
24+
25+
buildifier(
26+
name = "fix",
27+
exclude_patterns = [
28+
"./.git/*",
29+
],
30+
lint_mode = "fix",
31+
lint_warnings = ["all"],
32+
mode = "fix",
33+
)

0 commit comments

Comments
 (0)