From ccdaf5de54108990fcdeb0b0ff4a4fc4cd998522 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 23 Jan 2021 23:48:22 +0000 Subject: Disable clang-format, clean up scripts --- .github/workflows/cpp_lint.yml | 27 +++++++++--------- util/ci/clang-format.sh | 64 ++++++++++++++++++++++++++++++++++++++++++ util/ci/lint.sh | 43 ---------------------------- util/fix_format.sh | 5 ++++ 4 files changed, 83 insertions(+), 56 deletions(-) create mode 100755 util/ci/clang-format.sh delete mode 100755 util/ci/lint.sh create mode 100755 util/fix_format.sh diff --git a/.github/workflows/cpp_lint.yml b/.github/workflows/cpp_lint.yml index 1f97d105a..2bd884c7a 100644 --- a/.github/workflows/cpp_lint.yml +++ b/.github/workflows/cpp_lint.yml @@ -24,20 +24,21 @@ on: - '.github/workflows/**.yml' jobs: - clang_format: - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@v2 - - name: Install clang-format - run: | - sudo apt-get install clang-format-9 -qyy - - name: Run clang-format - run: | - source ./util/ci/lint.sh - perform_lint - env: - CLANG_FORMAT: clang-format-9 +# clang_format: +# runs-on: ubuntu-18.04 +# steps: +# - uses: actions/checkout@v2 +# - name: Install clang-format +# run: | +# sudo apt-get install clang-format-9 -qyy +# +# - name: Run clang-format +# run: | +# source ./util/ci/clang-format.sh +# check_format +# env: +# CLANG_FORMAT: clang-format-9 clang_tidy: runs-on: ubuntu-18.04 diff --git a/util/ci/clang-format.sh b/util/ci/clang-format.sh new file mode 100755 index 000000000..89576c656 --- /dev/null +++ b/util/ci/clang-format.sh @@ -0,0 +1,64 @@ +#! /bin/bash + +function setup_for_format() { + if [ -z "${CLANG_FORMAT}" ]; then + CLANG_FORMAT=clang-format + fi + echo "LINT: Using binary $CLANG_FORMAT" + CLANG_FORMAT_WHITELIST="util/ci/clang-format-whitelist.txt" + + files_to_lint="$(find src/ -name '*.cpp' -or -name '*.h')" +} + +function check_format() { + echo "Checking format..." + + setup_for_format + + local errorcount=0 + local fail=0 + for f in ${files_to_lint}; do + d=$(diff -u "$f" <(${CLANG_FORMAT} "$f") || true) + + if ! [ -z "$d" ]; then + whitelisted=$(awk '$1 == "'$f'" { print 1 }' "$CLANG_FORMAT_WHITELIST") + + # If file is not whitelisted, mark a failure + if [ -z "${whitelisted}" ]; then + errorcount=$((errorcount+1)) + + printf "The file %s is not compliant with the coding style" "$f" + if [ ${errorcount} -gt 50 ]; then + printf "\nToo many errors encountered previously, this diff is hidden.\n" + else + printf ":\n%s\n" "$d" + fi + + fail=1 + fi + fi + done + + if [ "$fail" = 1 ]; then + echo "LINT reports failure." + exit 1 + fi + + echo "LINT OK" +} + + + +function fix_format() { + echo "Fixing format..." + + setup_for_format + + for f in ${files_to_lint}; do + whitelisted=$(awk '$1 == "'$f'" { print 1 }' "$CLANG_FORMAT_WHITELIST") + if [ -z "${whitelisted}" ]; then + echo "$f" + $CLANG_FORMAT -i "$f" + fi + done +} diff --git a/util/ci/lint.sh b/util/ci/lint.sh deleted file mode 100755 index 395445ca7..000000000 --- a/util/ci/lint.sh +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/bash -function perform_lint() { - echo "Performing LINT..." - if [ -z "${CLANG_FORMAT}" ]; then - CLANG_FORMAT=clang-format - fi - echo "LINT: Using binary $CLANG_FORMAT" - CLANG_FORMAT_WHITELIST="util/ci/clang-format-whitelist.txt" - - files_to_lint="$(find src/ -name '*.cpp' -or -name '*.h')" - - local errorcount=0 - local fail=0 - for f in ${files_to_lint}; do - d=$(diff -u "$f" <(${CLANG_FORMAT} "$f") || true) - - if ! [ -z "$d" ]; then - whitelisted=$(awk '$1 == "'$f'" { print 1 }' "$CLANG_FORMAT_WHITELIST") - - # If file is not whitelisted, mark a failure - if [ -z "${whitelisted}" ]; then - errorcount=$((errorcount+1)) - - printf "The file %s is not compliant with the coding style" "$f" - if [ ${errorcount} -gt 50 ]; then - printf "\nToo many errors encountered previously, this diff is hidden.\n" - else - printf ":\n%s\n" "$d" - fi - - fail=1 - fi - fi - done - - if [ "$fail" = 1 ]; then - echo "LINT reports failure." - exit 1 - fi - - echo "LINT OK" -} - diff --git a/util/fix_format.sh b/util/fix_format.sh new file mode 100755 index 000000000..3cef6f58d --- /dev/null +++ b/util/fix_format.sh @@ -0,0 +1,5 @@ +#!/bin/bash -e + +. ./util/ci/clang-format.sh + +fix_format -- cgit v1.2.3