name: pre-commit

on:
    workflow_call:

permissions:
  contents: read

jobs:
  pre-commit:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout vllm-project/vllm-ascend repo
      uses: actions/checkout@v4
    - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
      with:
        python-version: "3.11"
    - run: echo "::add-matcher::.github/workflows/matchers/actionlint.json"
    - run: echo "::add-matcher::.github/workflows/matchers/mypy.json"
    - name: Checkout vllm-project/vllm repo
      uses: actions/checkout@v4
      with:
        repository: vllm-project/vllm
        path: ./vllm-empty
    - name: Install vllm
      working-directory: vllm-empty
      run: |
        pip install -r requirements/build.txt --extra-index-url https://download.pytorch.org/whl/cpu
        VLLM_TARGET_DEVICE=empty pip install .
    - name: Install vllm-ascend dev
      run: |
        pip install -r requirements-dev.txt --extra-index-url https://download.pytorch.org/whl/cpu
    - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
      env:
        SHELLCHECK_OPTS: "--exclude=SC2046,SC2006,SC2086" # Exclude SC2046, SC2006, SC2086 for actionlint
      with:
        extra_args: --all-files --hook-stage manual
