diff options
author | Lenny Maiorani <lenny@colorado.edu> | 2020-12-24 10:13:24 -0700 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-12-24 21:00:35 +0100 |
commit | 1db5276c051b91f39b079a1e2c4a5214f9dd57b8 (patch) | |
tree | 8b982b32c9732fdec774f96651170acd5ddde8d0 /Meta/lint-ci.sh | |
parent | 200c7572b7986f23e68f42bfe44caed34e4c008a (diff) | |
download | serenity-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/lint-ci.sh')
-rwxr-xr-x | Meta/lint-ci.sh | 31 |
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} |