Buildifier: Implement format check for build files

Change-Id: I0e5bc60141a53bb17d314ede094162303162ad27
diff --git a/jenkins/gerrit-verifier.yaml b/jenkins/gerrit-verifier.yaml
index 3c5e34a..5d294c7 100644
--- a/jenkins/gerrit-verifier.yaml
+++ b/jenkins/gerrit-verifier.yaml
@@ -171,6 +171,24 @@
            bazel test //polygerrit-ui/app:lint_test --test_output errors
            bazel test //polygerrit-ui/app:polylint_test --test_output errors
          fi
+      - shell: |
+         #!/bin/bash -e
+         cd gerrit
+         EXITCODE=0
+         for buildfile in $((git show --diff-filter=AM --name-only --pretty="" HEAD | grep --regex "WORKSPACE\|BUILD") || true)
+         do
+             BUILDIFIER_OUTPUT_FILE="$(mktemp)_buildifier_output.log"
+             buildifier -showlog -v -mode=check $buildfile 2>&1 | tee ${BUILDIFIER_OUTPUT_FILE}
+             if [[ -s ${BUILDIFIER_OUTPUT_FILE} ]]; then
+                 echo "Need Formatting:"
+                 echo "[$buildfile]"
+                 echo "Please fix manually or run buildifier $buildfile to auto-fix."
+                 buildifier -showlog -v -mode=diff $buildfile
+                 rm -rf ${BUILDIFIER_OUTPUT_FILE}
+                 EXITCODE=1
+             fi
+         done
+         exit $EXITCODE
 
 - job:
     name: 'Gerrit-verifier-change'