name: clang-tidy on: [push, pull_request] concurrency: group: ${{ github.workflow }}-tidy-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: build: runs-on: ubuntu-latest container: image: alexays/waybar:debian steps: - uses: actions/checkout@v3 - name: configure run: | meson -Dcpp_std=c++20 build # necessary to generate compile_commands.json ninja -C build # necessary to find certain .h files (xdg, wayland, etc.) - uses: actions/setup-python@v5 with: python-version: '3.10' # to be kept in sync with cpp-linter-action update-environment: true # the python dist installed by the action needs LD_LIBRARY_PATH to work - uses: cpp-linter/cpp-linter-action@v2.9.1 name: clang-tidy id: clang-tidy-check env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PIP_NO_CACHE_DIR: false with: style: "" # empty string => don't do clang-format checks here, we do them in clang-format.yml files-changed-only: true # only check files that have changed lines-changed-only: true # only check lines that have changed tidy-checks: "" # empty string => use the .clang-tidy file version: "17" # clang-tools version database: "build" # path to the compile_commands.json file - name: Check if clang-tidy failed on any files if: steps.clang-tidy-check.outputs.checks-failed > 0 run: echo "Some files failed the linting checks!" && exit 1