name: clang-format on: # Trigger the workflow on push or pull request, # but only for the main branch push: branches: - main pull_request: branches: - main jobs: clang-format: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.11"] steps: - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install clang-format==18.1.5 - name: Running clang-format run: | EXCLUDES=( 'csrc/moe/topk_softmax_kernels.cu' 'csrc/quantization/gguf/ggml-common.h' 'csrc/quantization/gguf/dequantize.cuh' 'csrc/quantization/gguf/vecdotq.cuh' 'csrc/quantization/gguf/mmq.cuh' 'csrc/quantization/gguf/mmvq.cuh' ) find csrc/ \( -name '*.h' -o -name '*.cpp' -o -name '*.cu' -o -name '*.cuh' \) -print \ | grep -vFf <(printf "%s\n" "${EXCLUDES[@]}") \ | xargs clang-format --dry-run --Werror