name: Run clang-tidy on: push: paths: - '**.c' - '**.h' pull_request: jobs: analyze: runs-on: ubuntu-24.04 name: clang-tidy steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install clang-tidy run: | sudo apt install clang-tidy - name: Build run: | mkdir build && cd build CC=clang cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBUILD_SHARED_LIBS=1 .. CC=clang sudo cmake --build . --config Release cd .. - name: Install clang-tidy-18 run: | sudo apt install clang-tidy-18 - name: Check for warnings env: base_sha: ${{ github.event.pull_request.base.sha }} head_sha: ${{ github.event.pull_request.head.sha }} run: | ./run-clang-tidy.sh build - uses: actions/upload-artifact@v4 if: ${{ failure() }} with: path: ct-warnings.txt