diff --git a/dist/tools/ci/static_tests.sh b/dist/tools/ci/static_tests.sh index cb9ea05b0d..37579ae40c 100755 --- a/dist/tools/ci/static_tests.sh +++ b/dist/tools/ci/static_tests.sh @@ -22,6 +22,7 @@ DEPS["./dist/tools/coccinelle/check.sh"]="spatch" DEPS["./dist/tools/flake8/check.sh"]="python3 flake8" DEPS["./dist/tools/codespell/check.sh"]="codespell" DEPS["./dist/tools/uncrustify/uncrustify.sh"]="uncrustify" +DEPS["./dist/tools/shellcheck/shellcheck.sh"]="shellcheck" if ! command -v git 2>&1 1>/dev/null; then echo -n "Required command 'git' for all static tests not found in PATH " @@ -120,5 +121,6 @@ if [ -z "${GITHUB_RUN_ID}" ]; then else run ./dist/tools/uncrustify/uncrustify.sh fi +ERROR_EXIT_CODE=0 run ./dist/tools/shellcheck/check.sh exit $RESULT diff --git a/dist/tools/shellcheck/check.sh b/dist/tools/shellcheck/check.sh index d372d1a63e..ff19863d8c 100755 --- a/dist/tools/shellcheck/check.sh +++ b/dist/tools/shellcheck/check.sh @@ -36,11 +36,17 @@ ${SHELLCHECK_CMD} --version &> /dev/null || { ERRORS=$("${SHELLCHECK_CMD}" --format=gcc ${FILES}) +EXIT_CODE=0 + if [ -n "${ERRORS}" ] then printf "%s There are issues in the following shell scripts %s\n" "${CERROR}" "${CRESET}" printf "%s\n" "${ERRORS}" - exit 1 -else - exit 0 + if [ -z "${ERROR_EXIT_CODE}" ]; then + EXIT_CODE=1 + else + EXIT_CODE="${ERROR_EXIT_CODE}" + fi fi + +exit "${EXIT_CODE}"