name: clang-tidy-review on: pull_request: types: [opened, synchronize, reopened] jobs: clang-tidy: runs-on: ubuntu-latest container: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 steps: - uses: actions/checkout@v4 with: fetch-depth: 2 - name: Prepare compile_commands.json run: | cmake -G Ninja -B build -DCMAKE_PREFIX_PATH=/opt/qt6.6.3 -DQT_MAJOR_VERSION=6 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DOPENSSL_ROOT_DIR=/usr/local/lib64 cd build && ninja - name: Create results directory run: | mkdir clang-tidy-result - name: Analyze run: | /usr/bin/git config --global --add safe.directory "$GITHUB_WORKSPACE" /usr/bin/git diff -U0 HEAD^ | clang-tidy-diff-15.py -checks='-*,modernize-use-auto,modernize-use-using,modernize-use-nodiscard,modernize-use-nullptr,modernize-use-override,cppcoreguidelines-pro-type-static-cast-downcast' -p1 -path build -export-fixes clang-tidy-result/fixes.yml - name: Run clang-tidy-pr-comments action uses: platisd/clang-tidy-pr-comments@v1.4.3 # >1.4.3 switches to composite method w/ a forced python version and breaks things: https://github.com/actions/setup-python/issues/871 with: # The GitHub token (or a personal access token) github_token: ${{ secrets.GITHUB_TOKEN }} # The path to the clang-tidy fixes generated previously clang_tidy_fixes: clang-tidy-result/fixes.yml # Optionally set to true if you want the Action to request # changes in case warnings are found request_changes: true # Optionally set the number of comments per review # to avoid GitHub API timeouts for heavily loaded # pull requests suggestions_per_comment: 10