Checks every grafana dashboard panel/board description against a length cap and a small keyword list (operator name, tracker-tag references) so the descriptions just shortened don't regress. Wired into both CI and pre-push, same as the other content lints.
43 lines
1.5 KiB
Shell
Executable file
43 lines
1.5 KiB
Shell
Executable file
#!/bin/sh
|
|
# Install: ln -sf ../../scripts/pre-push .git/hooks/pre-push
|
|
#
|
|
# Runs against the full working tree (not just staged or pushed files) to match
|
|
# what CI sees: `nix flake check` builds from the committed tree.
|
|
set -eu
|
|
|
|
repo_root="$(git rev-parse --show-toplevel)"
|
|
|
|
echo "pre-push: running tracker-tag lint..." >&2
|
|
if ! sh "$repo_root/scripts/check-issue-refs.sh"; then
|
|
echo "pre-push: tracker-tag lint FAILED — fix before pushing" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "pre-push: running comment-block lint..." >&2
|
|
if ! sh "$repo_root/scripts/check-comment-blocks.sh"; then
|
|
echo "pre-push: comment-block lint FAILED — fix before pushing" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "pre-push: running doc-pointer lint..." >&2
|
|
if ! sh "$repo_root/scripts/check-doc-refs.sh"; then
|
|
echo "pre-push: doc-pointer lint FAILED — fix before pushing" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "pre-push: running attribution-trailer lint..." >&2
|
|
if ! sh "$repo_root/scripts/check-attribution-trailers.sh"; then
|
|
echo "pre-push: attribution-trailer lint FAILED — fix before pushing" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "pre-push: running dashboard-description lint..." >&2
|
|
# jq isn't a project dependency elsewhere in this repo, so the check script
|
|
# assumes nothing about the caller's PATH — nix-shell it here instead.
|
|
if ! nix shell nixpkgs#jq --command sh "$repo_root/scripts/check-dashboard-descriptions.sh"; then
|
|
echo "pre-push: dashboard-description lint FAILED — fix before pushing" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "pre-push: lints passed ✓" >&2
|
|
exit 0
|