ddnet/.github/workflows/clang-tidy.yml

35 lines
1.1 KiB
YAML

name: Check clang-tidy
on:
push:
branches-ignore:
- gh-readonly-queue/**
- master
pull_request:
merge_group:
jobs:
check-clang-tidy:
runs-on: ubuntu-latest
env:
CARGO_HTTP_MULTIPLEXING: false
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install clang-tidy
run: |
sudo apt-get update -y
sudo apt-get install pkg-config cmake ninja-build libfreetype6-dev libnotify-dev libsdl2-dev libsqlite3-dev libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev libx264-dev clang-tidy libvulkan-dev glslang-tools spirv-tools -y
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
- name: Build with clang-tidy
run: |
mkdir clang-tidy
cd clang-tidy
cmake -G Ninja -DCMAKE_CXX_CLANG_TIDY="clang-tidy;-warnings-as-errors=*" -DCMAKE_C_CLANG_TIDY="clang-tidy;-warnings-as-errors=*" -DCMAKE_BUILD_TYPE=Debug -Werror=dev -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. ..
cmake --build . --config Debug --target everything -- -k 0