diff --git a/.github/workflows/elvis_lint.yaml b/.github/workflows/code-style-check.yaml similarity index 74% rename from .github/workflows/elvis_lint.yaml rename to .github/workflows/code-style-check.yaml index 1fdbeba87..93e363245 100644 --- a/.github/workflows/elvis_lint.yaml +++ b/.github/workflows/code-style-check.yaml @@ -1,4 +1,4 @@ -name: Elvis Linter +name: Code style check on: [pull_request] @@ -12,5 +12,9 @@ jobs: run: | echo "https://ci%40emqx.io:${{ secrets.CI_GIT_TOKEN }}@github.com" > $HOME/.git-credentials git config --global credential.helper store - - run: | + - name: Run elvis check + run: | ./scripts/elvis-check.sh $GITHUB_BASE_REF + - name: Check line-break at EOF + - run: | + ./scripts/check-nl-at-eof.sh diff --git a/scripts/check-nl-at-eof.sh b/scripts/check-nl-at-eof.sh index 5d93d04ac..f4f1ef04f 100755 --- a/scripts/check-nl-at-eof.sh +++ b/scripts/check-nl-at-eof.sh @@ -6,7 +6,7 @@ cd -P -- "$(dirname -- "$0")/.." nl_at_eof() { local file="$1" - if ! [ -f $file ]; then + if ! [ -f "$file" ]; then return fi case "$file" in @@ -17,10 +17,16 @@ nl_at_eof() { local lastbyte lastbyte="$(tail -c 1 "$file" 2>&1)" if [ "$lastbyte" != '' ]; then - echo $file + echo "$file" + return 1 fi } +n=0 while read -r file; do - nl_at_eof "$file" + if ! nl_at_eof "$file"; then + n=$(( n + 1 )) + fi done < <(git ls-files) + +exit $n