Runs clang-format recursively on files in a directory and reports errors using a diff. Can use a .clang-format file for style (when using style: 'file').
If you find a bug or make an improvement your pull requests are appreciated.
All of this is under the MIT License.
Create a new workflow file, e.g. ./github/workflows/clang-format.yml:
# Run clang-format
name: Clang-format
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
checkout-and-check-formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run clang-format
uses: HorstBaerbel/[email protected]
# These are optional (defaults displayed)
with:
scandir: '.'
excludedirs: 'build'
extensions: 'c,h,C,H,cpp,hpp,cc,hh,c++,h++,cxx,hxx'
style: 'file'
- scandir: Directory to scan, e.g. 'src'. MUST be realtive to you repository, thus '.' means root of repository. MUST contain a valid CMakeLists.txt.
- excludedirs: Directories below scandir to exclude from scanning, e.g. "build,test,src/third_party". MUST be relative to scandir, thus 'test' means 'scandir/test'.
- extensions: Extensions to include in scan, e.g. 'h,c,hpp,cpp'.
- style: Style string to pass to clang-format. Use 'file' to make clang-format use a .clang-format file.