summaryrefslogtreecommitdiff
path: root/Meta
diff options
context:
space:
mode:
authorLenny Maiorani <lenny@colorado.edu>2020-12-24 10:13:24 -0700
committerAndreas Kling <kling@serenityos.org>2020-12-24 21:00:35 +0100
commit1db5276c051b91f39b079a1e2c4a5214f9dd57b8 (patch)
tree8b982b32c9732fdec774f96651170acd5ddde8d0 /Meta
parent200c7572b7986f23e68f42bfe44caed34e4c008a (diff)
downloadserenity-1db5276c051b91f39b079a1e2c4a5214f9dd57b8.zip
Meta: Run all lint checks and report failures together
Problem: - The first lint check that fails results in all subsequent checks not being run. Solution: - Run all the lint checks aggregating the number of failures. - Return a non-0 exit code if any have failed.
Diffstat (limited to 'Meta')
-rwxr-xr-xMeta/lint-ci.sh31
1 files changed, 25 insertions, 6 deletions
diff --git a/Meta/lint-ci.sh b/Meta/lint-ci.sh
index c659d8857b..964029b4a8 100755
--- a/Meta/lint-ci.sh
+++ b/Meta/lint-ci.sh
@@ -5,20 +5,39 @@ set -e
script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd "${script_path}/.." || exit 1
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+NC='\033[0m' # No Color
+
+FAILURES=0
+
+set +e
+
for cmd in \
Meta/check-ak-test-files.sh \
Meta/check-debug-flags.sh \
Meta/check-style.sh \
Meta/lint-executable-resources.sh \
Meta/lint-ipc-ids.sh \
- Meta/lint-shell-scripts.sh ; do
- echo "Running $cmd"
- "$cmd"
- echo "$cmd successful"
+ Meta/lint-shell-scripts.sh; do
+ echo "Running $cmd... "
+ if $cmd; then
+ echo -e "[${GREEN}OK${NC}]: ${cmd}"
+ else
+ echo -e "[${RED}FAIL${NC}]: ${cmd}"
+ ((FAILURES+=1))
+ fi
done
echo "Running Meta/lint-clang-format.sh"
-Meta/lint-clang-format.sh --overwrite-inplace && git diff --exit-code
-echo "Meta/lint-clang-format.sh successful"
+if Meta/lint-clang-format.sh --overwrite-inplace && git diff --exit-code; then
+ echo -e "[${GREEN}OK${NC}]: Meta/lint-clang-format.sh"
+else
+ echo -e "[${RED}FAIL${NC}]: Meta/lint-clang-format.sh"
+ ((FAILURES+=1))
+fi
+
echo "(Not running lint-missing-resources.sh due to high false-positive rate.)"
echo "(Also look out for check-symbols.sh, which can only be executed after the build!)"
+
+exit ${FAILURES}