constellation/bazel/ci/BUILD.bazel

101 lines
2.1 KiB
Python
Raw Normal View History

load("@bazel_gazelle//:def.bzl", "gazelle")
load("@com_github_ash2k_bazel_tools//multirun:def.bzl", "multirun")
load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier", "buildifier_test")
load("//bazel/sh:def.bzl", "repo_command", "sh_template")
gazelle(name = "gazelle_generate")
gazelle(
name = "gazelle_check",
command = "fix",
mode = "diff",
)
gazelle(
name = "gazelle_update_repos",
args = [
"-from_file=go.work",
"-to_macro=bazel/toolchains/go_module_deps.bzl%go_dependencies",
"-build_file_proto_mode=disable_global",
"-build_file_generation=on",
"-prune",
],
command = "update-repos",
)
buildifier_test(
name = "buildifier_check",
timeout = "short",
lint_mode = "warn",
lint_warnings = ["all"],
mode = "diff",
no_sandbox = True,
verbose = True,
workspace = "//:WORKSPACE.bazel",
)
buildifier(
name = "buildifier_fix",
lint_mode = "fix",
lint_warnings = ["all"],
mode = "fix",
verbose = True,
)
sh_template(
name = "go_mod_tidy",
data = [
"@go_sdk//:bin/go",
],
substitutions = {
"@@GO@@": "$(rootpath @go_sdk//:bin/go)",
},
template = "tidy.sh.in",
)
sh_template(
name = "shfmt",
data = [
"@com_github_katexochen_sh_v3//cmd/shfmt",
],
substitutions = {
"@@SHFMT@@": "$(rootpath @com_github_katexochen_sh_v3//cmd/shfmt)",
},
template = "shfmt.sh.in",
)
repo_command(
name = "gofumpt",
args = [
"-l",
"-w",
".",
],
command = "@cc_mvdan_gofumpt//:gofumpt",
)
multirun(
name = "tidy",
commands = [
":shfmt",
":gofumpt",
":go_mod_tidy",
":gazelle_update_repos",
":gazelle_generate",
":buildifier_fix",
],
jobs = 1, # execute sequentially
visibility = ["//visibility:public"],
)
multirun(
name = "check",
testonly = True,
commands = [
":gazelle_check",
":buildifier_check",
],
jobs = 0,
visibility = ["//visibility:public"],
)