on: [pull_request] name: clang-format jobs: check-clang-format: runs-on: ubuntu-22.04 steps: - name: install clang-format run: sudo apt install clang-format-14 - uses: actions/checkout@main - name: fetch target ref run: | refs=($(git log -1 --format=%s)) git fetch --depth=1 origin "${refs[3]}" - name: configure clang-format run: | git config clangformat.binary $PWD/utils/clang-format-xs/clang-format-xs git config clangformat.extensions c,h,xs - name: run git-clang-format and Check if no changes are needed run: | CLANG_FORMAT=clang-format-14 git-clang-format-14 --diff FETCH_HEAD HEAD | tee git-clang-format.diff cmp -s <(echo no modified files to format) git-clang-format.diff || cmp -s <(echo -n) git-clang-format.diff - uses: actions/upload-artifact@v1 if: failure() with: name: git-clang-format.diff path: git-clang-format.diff