diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index ca127c55..639ecc9c 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -143,7 +143,7 @@ jobs: steps: - name: Install dependencies (apk) - run: apk add --no-cache make git diffutils findutils clang-extra-tools + run: apk add --no-cache make git diffutils findutils clang-extra-tools bash - uses: actions/checkout@v3 with: diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 56db72df..97fd0c74 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -95,9 +95,12 @@ check_style_file() # * https://clang.llvm.org/docs/ClangFormatStyleOptions.html#insertbraces # - since reference env is alpine 3.16 with clang-format 13, implement custom parser to do the similar thing here with grep: # it used to trace missing { and } for if/else/do/while/for BUT IT'S VERY SPECULATIVE, very-very hacky & dirty. - test -z "${LIST}" || silent_opt="-q" - # if file is problematic but filename only requested make final grep in pipe silent ... - grep -H -n -e "^ .*if .*)$" -e "^ .*else$" -e "^ .* do$" -e "^ .*while .*)$" -e "^ .*for .*)$" "${src}" | grep -v -e "^.*//" -e "^.*:.*: .*if ((.*[^)])$" | sed 's,^,\n\n,; s,: ,:1: error: probably missing { or } for conditional or loop block:\n>>>,;' | grep "${silent_opt}" -e "^.*$" + # - if file is problematic but filename only requested make final grep in pipe silent ... UPD: make code messy but shellcheck happy + if [ -z "${LIST}" ]; then + grep -H -n -e "^ .*if .*)$" -e "^ .*else$" -e "^ .* do$" -e "^ .*while .*)$" -e "^ .*for .*)$" "${src}" | grep -v -e "^.*//" -e "^.*:.*: .*if ((.*[^)])$" | sed 's,^,\n\n,; s,: ,:1: error: probably missing { or } for conditional or loop block:\n>>>,;' | grep -e "^.*$" + else + grep -H -n -e "^ .*if .*)$" -e "^ .*else$" -e "^ .* do$" -e "^ .*while .*)$" -e "^ .*for .*)$" "${src}" | grep -v -e "^.*//" -e "^.*:.*: .*if ((.*[^)])$" | sed 's,^,\n\n,; s,: ,:1: error: probably missing { or } for conditional or loop block:\n>>>,;' | grep -q -e "^.*$" + fi; if [ "${?}" -ne 1 ]; then # ... and only print the filename test -z "${LIST}" || echo "${src}"