name: Python floor (3.10) # # This workflow enforces the requires-python floor declared in pyproject.toml. # Static analysis covers the production tree; test collection runs on a real 3.10. # on: push: branches: [ master, release/** ] pull_request: jobs: vermin: name: Static Floor Check runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.12' - name: Install Vermin run: pip install vermin==1.8.0 - name: Check production tree against 3.10 run: | vermin \ --target=3.10- \ --violations \ --backport typing_extensions \ --eval-annotations \ --exclude long \ --exclude string.rsplit \ --no-tips \ comfy/ \ comfy_extras/ \ comfy_api/ \ comfy_api_nodes/ \ comfy_execution/ \ comfy_config/ \ app/ \ api_server/ \ utils/ \ middleware/ \ *.py test-collection: name: Test Collection 3.10 runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.10' - name: Install requirements run: | python -m pip install --upgrade pip pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu pip install -r requirements.txt pip install -r tests-unit/requirements.txt - name: Collect unit tests run: python -m pytest tests-unit --collect-only -q