54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
name: clang-format
|
|
|
|
on:
|
|
# Trigger the workflow on push or pull request,
|
|
# but only for the main branch
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- '**/*.h'
|
|
- '**/*.cpp'
|
|
- '**/*.cu'
|
|
- '**/*.cuh'
|
|
- '.github/workflows/clang-format.yml'
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- '**/*.h'
|
|
- '**/*.cpp'
|
|
- '**/*.cu'
|
|
- '**/*.cuh'
|
|
- '.github/workflows/clang-format.yml'
|
|
|
|
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
|