# # Adapted from vllm-project/vllm/blob/main/.github # Copyright 2023 The vLLM team. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # name: mypy on: # Trigger the workflow on push or pull request, # but only for the main branch push: branches: - 'main' - '*-dev' paths: - '**/*.py' - '.github/workflows/mypy.yaml' - 'tools/mypy.sh' - 'mypy.ini' pull_request: branches: - 'main' - '*-dev' # This workflow is only relevant when one of the following files changes. # However, we have github configured to expect and require this workflow # to run and pass before github with auto-merge a pull request. Until github # allows more flexible auto-merge policy, we can just run this on every PR. # It doesn't take that long to run, anyway. paths: - '**/*.py' - '.github/workflows/mypy.yaml' - 'tools/mypy.sh' - 'mypy.ini' jobs: mypy: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -r requirements-dev.txt - name: Checkout vllm-project/vllm repo uses: actions/checkout@v4 with: repository: vllm-project/vllm path: vllm-empty - name: Install vllm-project/vllm from source 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: Mypy run: | echo "::add-matcher::.github/workflows/matchers/mypy.json" tools/mypy.sh 1 ${{ matrix.python-version }}