diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..593c8ac --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,12 @@ +--- +Checks: > + -*, + clang-analyzer-*, + clang-diagnostic-*, + bugprone-*, + performance-* +WarningsAsErrors: '*' +# Only analyze headers from this repository; ignore external headers +HeaderFilterRegex: '^(include/|test/(?!third_party/))' +FormatStyle: file +... diff --git a/.github/workflows/clang-tidy-review.yml b/.github/workflows/clang-tidy-review.yml new file mode 100644 index 0000000..54063cd --- /dev/null +++ b/.github/workflows/clang-tidy-review.yml @@ -0,0 +1,25 @@ +name: clang-tidy-review + +on: [pull_request] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + # Optionally generate compile_commands.json + - uses: ZedThree/clang-tidy-review@v0.21.0 + id: review + with: + cmake_command: cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + build_dir: build + + # Uploads an artefact containing clang_fixes.json + - uses: ZedThree/clang-tidy-review/upload@v0.21.0 + id: upload-review + + # If there are any comments, fail the check + - if: steps.review.outputs.total_comments > 0 + run: exit 1