40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| 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
 |