diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c4edd3f5..6f5377db 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -186,6 +186,29 @@ check-commit: reports: junit: results.xml + +# +# Check for trailing whitespaces +# + +check-whitespace: + extends: + - .fdo.ci-fairy + stage: sanity check + script: + # remove trailing whitespaces + - sed -i 's/ *$//' $(git ls-files) + - git diff --exit-code || (echo "ERROR - Trailing whitespaces in patchset, please fix" && false) + - sed -i 's/\t*$//' $(git ls-files) + - git diff --exit-code || (echo "ERROR - Trailing tabs in patchset, please fix" && false) + # search for tab after space + - sed -i 's/ \t//' $(git ls-files) + - git diff --exit-code || (echo "ERROR - Tab after space in patchset, please fix" && false) + # search for duplicated empty lines + - sed -i '/^$/N;/^\n$/D' $(git ls-files src/*.{h,c} tools/*.{h,c} udev/*.c) + - git diff --exit-code || (echo "ERROR - Duplicated empty lines, please fix" && false) + + ################################################################# # # # prep stage # diff --git a/.gitlab-ci/ci.template b/.gitlab-ci/ci.template index 70a6fcd1..da37199a 100644 --- a/.gitlab-ci/ci.template +++ b/.gitlab-ci/ci.template @@ -174,6 +174,29 @@ check-commit: reports: junit: results.xml + +# +# Check for trailing whitespaces +# + +check-whitespace: + extends: + - .fdo.ci-fairy + stage: sanity check + script: + # remove trailing whitespaces + - sed -i 's/ *$//' $(git ls-files) + - git diff --exit-code || (echo "ERROR - Trailing whitespaces in patchset, please fix" && false) + - sed -i 's/\t*$//' $(git ls-files) + - git diff --exit-code || (echo "ERROR - Trailing tabs in patchset, please fix" && false) + # search for tab after space + - sed -i 's/ \t//' $(git ls-files) + - git diff --exit-code || (echo "ERROR - Tab after space in patchset, please fix" && false) + # search for duplicated empty lines + - sed -i '/^$/N;/^\n$/D' $(git ls-files src/*.{h,c} tools/*.{h,c} udev/*.c) + - git diff --exit-code || (echo "ERROR - Duplicated empty lines, please fix" && false) + + ################################################################# # # # prep stage #