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@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 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=( 'kernels/moe/topk_softmax_kernels.cu' 'kernels/punica/bgmv/bgmv_bf16_bf16_bf16.cu' 'kernels/punica/bgmv/bgmv_config.h' 'kernels/punica/bgmv/bgmv_impl.cuh' 'kernels/punica/bgmv/vec_dtypes.cuh' 'kernels/punica/punica_ops.cu' 'kernels/punica/type_convert.h' ) find kernels/ \( -name '*.h' -o -name '*.cpp' -o -name '*.cu' -o -name '*.cuh' \) -print \ | grep -vFf <(printf "%s\n" "${EXCLUDES[@]}") \ | xargs clang-format --dry-run --Werror