mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-07-03 21:20:49 +08:00
92 lines
3.1 KiB
YAML
92 lines
3.1 KiB
YAML
# This is the GitHub Workflow that drives full-GPU-enabled tests of ComfyUI.
|
|
# Results are reported as checkmarks on the commits, as well as onto https://ci.comfy.org/
|
|
#
|
|
# Trigger policy:
|
|
# push to master/release -> a lightweight "smoke" run (one stable config) for a fast per-commit signal
|
|
# workflow_dispatch -> operator-selected scope; "full" runs the complete supported matrix on demand
|
|
name: Full Comfy CI Workflow Runs
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- release/**
|
|
paths-ignore:
|
|
- 'app/**'
|
|
- 'input/**'
|
|
- 'output/**'
|
|
- 'notebooks/**'
|
|
- 'script_examples/**'
|
|
- '.github/**'
|
|
- 'web/**'
|
|
workflow_dispatch:
|
|
inputs:
|
|
scope:
|
|
description: "Test scope: 'smoke' = one stable config, 'full' = all supported Python versions + nightly"
|
|
type: choice
|
|
options:
|
|
- smoke
|
|
- full
|
|
default: full
|
|
|
|
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 }}
|
|
steps:
|
|
- name: Resolve scope
|
|
id: scope
|
|
shell: bash
|
|
run: |
|
|
SCOPE="${{ github.event_name == 'workflow_dispatch' && inputs.scope || 'smoke' }}"
|
|
echo "Trigger=${{ github.event_name }} resolved scope=$SCOPE"
|
|
if [ "$SCOPE" = "full" ]; then
|
|
echo 'stable_python=["3.10", "3.11", "3.12"]' >> "$GITHUB_OUTPUT"
|
|
echo 'run_nightly=true' >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo 'stable_python=["3.12"]' >> "$GITHUB_OUTPUT"
|
|
echo 'run_nightly=false' >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
test-stable:
|
|
needs: prepare
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# os: [macos, linux, windows] # mac/windows self-hosted runners currently disabled
|
|
python_version: ${{ fromJSON(needs.prepare.outputs.stable_python) }}
|
|
# CUDA is the comfy-action default (12.1); bump alongside the matrix-expansion PR.
|
|
runs-on: [self-hosted, Linux]
|
|
steps:
|
|
- name: Test Workflows
|
|
uses: comfy-org/comfy-action@main
|
|
with:
|
|
os: linux
|
|
python_version: ${{ matrix.python_version }}
|
|
torch_version: stable
|
|
google_credentials: ${{ secrets.GCS_SERVICE_ACCOUNT_JSON }}
|
|
comfyui_flags: ""
|
|
|
|
test-unix-nightly:
|
|
needs: prepare
|
|
if: ${{ needs.prepare.outputs.run_nightly == 'true' }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python_version: ["3.11"]
|
|
runs-on: [self-hosted, Linux]
|
|
steps:
|
|
- name: Test Workflows
|
|
uses: comfy-org/comfy-action@main
|
|
with:
|
|
os: linux
|
|
python_version: ${{ matrix.python_version }}
|
|
torch_version: nightly
|
|
google_credentials: ${{ secrets.GCS_SERVICE_ACCOUNT_JSON }}
|
|
comfyui_flags: ""
|