clang-format.yml 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. name: clang-format
  2. on:
  3. # Trigger the workflow on push or pull request,
  4. # but only for the main branch
  5. push:
  6. branches:
  7. - main
  8. pull_request:
  9. branches:
  10. - main
  11. jobs:
  12. clang-format:
  13. runs-on: ubuntu-latest
  14. strategy:
  15. matrix:
  16. python-version: ["3.11"]
  17. steps:
  18. - uses: actions/checkout@v2
  19. - name: Set up Python ${{ matrix.python-version }}
  20. uses: actions/setup-python@v2
  21. with:
  22. python-version: ${{ matrix.python-version }}
  23. - name: Install dependencies
  24. run: |
  25. python -m pip install --upgrade pip
  26. pip install clang-format==18.1.5
  27. - name: Running clang-format
  28. run: |
  29. EXCLUDES=(
  30. 'kernels/moe/topk_softmax_kernels.cu'
  31. 'kernels/punica/bgmv/bgmv_bf16_bf16_bf16.cu'
  32. 'kernels/punica/bgmv/bgmv_config.h'
  33. 'kernels/punica/bgmv/bgmv_impl.cuh'
  34. 'kernels/punica/bgmv/vec_dtypes.cuh'
  35. 'kernels/punica/punica_ops.cu'
  36. 'kernels/punica/type_convert.h'
  37. )
  38. find kernels/ \( -name '*.h' -o -name '*.cpp' -o -name '*.cu' -o -name '*.cuh' \) -print \
  39. | grep -vFf <(printf "%s\n" "${EXCLUDES[@]}") \
  40. | xargs clang-format --dry-run --Werror