Bump CI test matrix to Python 3.14-3.11, PyTorch 2.12, CUDA 13.2#14432
Bump CI test matrix to Python 3.14-3.11, PyTorch 2.12, CUDA 13.2#14432marawan206 wants to merge 2 commits into
Conversation
📝 WalkthroughWalkthroughThe test-ci workflow updates the stable Linux test matrix to use Python 3.11 through 3.14, CUDA 13.2, and a specific Torch install configuration. The nightly Linux job also switches to CUDA 13.2 and passes that CUDA version into 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/test-ci.yml:
- Around line 31-40: The workflow currently relies on default GITHUB_TOKEN
permissions; add an explicit least-privilege permissions block to harden the
workflow and the affected jobs (notably the prepare job that exposes outputs
stable_python and run_nightly and the other test jobs referenced). For example,
add a top-level permissions section (or per-job permissions for prepare and the
test jobs) granting only the minimal scopes needed (e.g., contents: read,
actions: read, checks: write if tests report statuses) and remove/override
default broad permissions; ensure any job that needs extra rights explicitly
requests them rather than inheriting defaults.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: ddae71c1-8441-4019-861d-b0397df623f5
📒 Files selected for processing (1)
.github/workflows/test-ci.yml
| jobs: | ||
| # Resolve the test scope from the trigger: | ||
| # push -> smoke (cheap per-commit signal on master) | ||
| # workflow_dispatch -> the scope chosen by the operator (defaults to full) | ||
| # Expanding coverage later (new Python versions, etc.) is a one-line edit to the JSON below. | ||
| prepare: | ||
| runs-on: ubuntu-latest | ||
| outputs: | ||
| stable_python: ${{ steps.scope.outputs.stable_python }} | ||
| run_nightly: ${{ steps.scope.outputs.run_nightly }} |
There was a problem hiding this comment.
Add explicit least-privilege permissions for this workflow/jobs.
The new prepare + refactored test jobs run with default token permissions because no permissions block is declared. This weakens CI hardening and is flagged in the changed regions. Please set explicit minimal permissions (workflow-level and/or per-job).
Suggested hardening patch
name: Full Comfy CI Workflow Runs
+permissions:
+ contents: read
+
on:
push:
branches:
- master
- release/**Also applies to: 56-57, 76-77
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/test-ci.yml around lines 31 - 40, The workflow currently
relies on default GITHUB_TOKEN permissions; add an explicit least-privilege
permissions block to harden the workflow and the affected jobs (notably the
prepare job that exposes outputs stable_python and run_nightly and the other
test jobs referenced). For example, add a top-level permissions section (or
per-job permissions for prepare and the test jobs) granting only the minimal
scopes needed (e.g., contents: read, actions: read, checks: write if tests
report statuses) and remove/override default broad permissions; ensure any job
that needs extra rights explicitly requests them rather than inheriting
defaults.
Source: Linters/SAST tools
Replace the trigger-policy change with the version-matrix bump requested by Comfy: test on Python 3.14/3.13/3.12/3.11 against PyTorch 2.12 on CUDA 13.2. - pass cuda_version through to comfy-action (was defaulting to 12.1) - pin torch 2.12 + torchvision from the cu132 wheel index via the action's 'specific' install path (requires the Linux 'specific' branch in comfy-action) - torchaudio omitted: no cu132 build for these Python versions
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/test-ci.yml (1)
48-54: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick wintorchaudio mismatch with
requirements.txtwill likely fail this leg.The pinned install (Line 54) intentionally drops
torchaudio, but as your comment on Lines 50–51 admits,requirements.txtstill requires it. On cu132 there's no matchingtorchaudiowheel, so the subsequent dependency install/import insidecomfy-actioncan fail or pull an incompatible build. This is a known-broken leg shipping behind an inline TODO rather than a resolved plan.Want me to open a tracking issue and draft making
torchaudiooptional inrequirements.txt(or a cu132-aware extra)?🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/test-ci.yml around lines 48 - 54, The CI leg is currently pinning Torch in the workflow while omitting torchaudio, but the rest of the dependency install still expects it. Update the test workflow’s torch install step and the related dependency setup so the cu132 leg does not pull a missing/incompatible torchaudio build; either make torchaudio optional in requirements handling or gate this leg behind a cu132-aware dependency path. Use the existing workflow step with specific_torch_install and the surrounding requirements.txt note as the place to align the install behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/test-ci.yml:
- Around line 46-54: The new Linux stable leg is currently setting
specific_torch_install even though the existing comfy-action support only honors
the specific torch path on macOS. Update the workflow matrix in the test CI job
so the pinned cu132 install is gated off for Linux until the companion
comfy-action change lands, using the existing matrix fields like os and
specific_torch_install to keep the Linux job from skipping into the wrong
dependency set.
---
Nitpick comments:
In @.github/workflows/test-ci.yml:
- Around line 48-54: The CI leg is currently pinning Torch in the workflow while
omitting torchaudio, but the rest of the dependency install still expects it.
Update the test workflow’s torch install step and the related dependency setup
so the cu132 leg does not pull a missing/incompatible torchaudio build; either
make torchaudio optional in requirements handling or gate this leg behind a
cu132-aware dependency path. Use the existing workflow step with
specific_torch_install and the surrounding requirements.txt note as the place to
align the install behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: e754a084-bcdb-4d5d-9a36-12e1cc78b7d0
📒 Files selected for processing (1)
.github/workflows/test-ci.yml
| cuda_version: ${{ matrix.cuda_version }} | ||
| torch_version: ${{ matrix.torch_version }} | ||
| # Pin PyTorch 2.12 on CUDA 13.2 (cu132 wheel index). torchaudio is omitted | ||
| # on purpose: cu132 has no torchaudio build for these Python versions | ||
| # (it stops at 2.2.0/cp312). requirements.txt still lists torchaudio, so | ||
| # validate that leg once a runner exists — it may need to be made optional. | ||
| # NOTE: requires comfy-action to honor `torch_version: specific` on Linux | ||
| # (today macOS-only). Companion PR in comfy-org/comfy-action is required. | ||
| specific_torch_install: "pip install torch==2.12.* torchvision --index-url https://download.pytorch.org/whl/cu132" |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Confirm comfy-action exposes the inputs this workflow now relies on.
for ref in main; do
echo "=== comfy-action@${ref} action.yml inputs ==="
curl -fsSL "https://raw.githubusercontent.com/comfy-org/comfy-action/${ref}/action.yml" \
| sed -n '/^inputs:/,/^runs:/p' \
| grep -E '^\s{2}\w' || echo "could not fetch / parse"
doneRepository: Comfy-Org/ComfyUI
Length of output: 478
🏁 Script executed:
curl -fsSL https://raw.githubusercontent.com/comfy-org/comfy-action/main/action.yml | sed -n '1,220p'Repository: Comfy-Org/ComfyUI
Length of output: 9743
Gate the Linux specific torch install until the companion comfy-action PR lands.
specific_torch_install only runs when os == 'macos' today, so this new Linux stable leg will skip the pinned cu132 install and won’t exercise the intended dependency set.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/test-ci.yml around lines 46 - 54, The new Linux stable leg
is currently setting specific_torch_install even though the existing
comfy-action support only honors the specific torch path on macOS. Update the
workflow matrix in the test CI job so the pinned cu132 install is gated off for
Linux until the companion comfy-action change lands, using the existing matrix
fields like os and specific_torch_install to keep the Linux job from skipping
into the wrong dependency set.
|
Companion PR (required): Comfy-Org/comfy-action#14 — adds the Linux |
What
Bumps the GPU CI matrix to the versions requested by Comfy:
This replaces the earlier trigger-policy change on this branch. Per Comfy's
guidance, we leave the triggers as-is and update the version matrix instead.
Changes to
test-ci.ymltest-stablematrix → Python 3.14/3.13/3.12/3.11,cuda_version: 13.2, torch pinned to 2.12.cuda_versionis now actually passed tocomfy-action(it was defaulting to 12.1).cu132wheel index via theaction's
specificpath.test-unix-nightlyCUDA bumped 12.1 → 13.2.Wheels verified present on
download.pytorch.org/whl/cu132/:torch-2.12.1+cu132-cp314…,torchvision-0.27.1+cu132-cp314…(cp311–cp314, linux x86_64).Dependencies / follow-ups (this PR is not mergeable alone)
comfy-org/comfy-action— the matrix usestorch_version: specific,but that install path is currently macOS-only. A Linux
specificstep is required.(
gha-comfyui-<py>-specific) + CUDA 13.2 drivers, and Turing-or-newer GPUs(CUDA 13.x dropped older architectures).
torchaudio— omitted from the cu132 pin (no cu132 build for these Pythonversions; it stops at 2.2.0/cp312).
requirements.txtstill lists it, so thatleg needs validation once a runner exists; may need to be made optional.