Enable Lint on CI (#2)
This commit is contained in:
committed by
Motiejus Jakštys
parent
a1b1be2303
commit
fef28b9706
37
ci/lint
37
ci/lint
@@ -7,28 +7,21 @@ set -euo pipefail
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)"
|
||||
|
||||
mapfile -t files < \
|
||||
<(git ls-files)
|
||||
mapfile -t scripts < \
|
||||
<(awk '/#!(\/usr\/bin\/env bash|\/bin\/sh)/&&FNR==1{print FILENAME}' "${files[@]}")
|
||||
mapfile -t buildfiles < \
|
||||
<(find . \( -name 'WORKSPACE' -o -name 'BUILD' -o -name '*.bzl' \))
|
||||
|
||||
>&2 echo "shellcheck"
|
||||
for f in "${scripts[@]}"; do >&2 echo " $f"; done
|
||||
shellcheck "${scripts[@]}"
|
||||
>&2 echo -e "OK\n"
|
||||
|
||||
>&2 echo "buildifier -mode diff"
|
||||
for f in "${buildfiles[@]}"; do >&2 echo " $f"; done
|
||||
fail=0
|
||||
out=$(buildifier -mode diff -diff_command='diff -u' "${buildfiles[@]}") || fail=1
|
||||
if [[ "$fail" == 1 ]]; then
|
||||
>&2 echo "ERROR: buildifier:"
|
||||
echo "$out"
|
||||
>&2 echo
|
||||
>&2 echo "You may try running:"
|
||||
>&2 echo " buildifier ${buildfiles[*]}"
|
||||
exit 1
|
||||
if command -v shellcheck &> /dev/null; then
|
||||
mapfile -t files < \
|
||||
<(git ls-files)
|
||||
mapfile -t scripts < \
|
||||
<(awk '/#!(\/usr\/bin\/env bash|\/bin\/sh)/&&FNR==1{print FILENAME}' "${files[@]}")
|
||||
>&2 echo "shellcheck"
|
||||
for f in "${scripts[@]}"; do >&2 echo " $f"; done
|
||||
shellcheck "${scripts[@]}"
|
||||
>&2 echo -e "OK\n"
|
||||
fi
|
||||
|
||||
>&2 echo "--- buildifier :bazel:"
|
||||
bin/buildifier -r -mode check "$PWD"
|
||||
>&2 echo -e "OK\n"
|
||||
|
||||
>&2 echo "--- Gazelle :goat:"
|
||||
tools/bazel run //:gazelle -- -mode diff
|
||||
|
||||
Reference in New Issue
Block a user