Commit Graph

4179 Commits

Author SHA1 Message Date
Alexander Piskun
c2c5a7d5f8
fix(api-nodes): bad indentation in Recraft API node function (#10175) 2025-10-03 11:41:06 -07:00
Alexander Piskun
8a293372ec
fix(api-nodes): reimport of base64 in Gemini node (#10181) 2025-10-03 11:40:27 -07:00
Alexander Piskun
ed3ca78e08
feat(api-nodes): add kling-2-5-turbo to txt2video and img2video nodes (#10155) 2025-10-03 11:26:34 -07:00
clsferguson
39b0a0cca8
refactor(entrypoint): GPU-first probe, unify SageAttention logs, CM_* config management, remove UV/pip bootstrap
Move a detailed GPU probe to the top, logging per-device name/CC/memory and exiting early if no compatible GPUs (>=7.5), while storing a temporary SAGE_BUILD_STRATEGY for SageAttention builds; unify “SageAttention” naming and remove duplicate “Building” logs; remove UV usage and runtime pip bootstrap since deps are baked; add configure_manager_config to create or update ComfyUI-Manager’s persistent config.ini from CM_* environment variables on first and subsequent boots; keep Triton baked at 3.4.0 but switch to 3.2.0 at runtime for Turing strategies only; preserve system-wide installs and non-root ownership model.
2025-10-02 21:34:09 -06:00
clsferguson
de6351e9bf
feat(entrypoint): GPU-first single log; UV-free; CM_* driven Manager config; standardized SageAttention logs
Move GPU probe to the top with a single comprehensive device report (index, name, CC, VRAM) and early exit if no compatible GPUs (CC >= 7.5 not met); avoid duplicate logs after user switch via an internal flag. Remove uv usage and ensurepip, keeping system-wide pip installs only. Add CM_* environment variable handling to seed and reconcile ComfyUI-Manager’s persistent config.ini under user/default/ComfyUI-Manager on first and subsequent boots. Standardize “SageAttention” naming and reduce duplicate “building” messages; keep runtime Triton adjustment only when needed for Turing.
2025-10-02 20:47:07 -06:00
Alexander Piskun
4ffea0e864
feat(linter, api-nodes): add pylint for comfy_api_nodes folder (#10157) 2025-10-02 19:14:28 -04:00
Alexander Piskun
1395bce9f7
update example_node to use V3 schema (#9723) 2025-10-02 15:20:29 -07:00
comfyanonymous
e9364ee279
Turn on TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL by default. (#10168) 2025-10-02 17:57:15 -04:00
Alexander Piskun
f6e3e9a456
fix(api-nodes): made logging path to be smaller (#10156) 2025-10-02 14:50:31 -07:00
Alexander Piskun
8f4ee9984c
convert nodes_morphology.py to V3 schema (#10159) 2025-10-02 13:53:00 -07:00
clsferguson
d1ba18dac8
Rollback entrypoint.sh 2025-10-02 13:00:05 -06:00
clsferguson
e5990f874b
fix(entrypoint): make python -s -m pip available to ComfyUI-Manager; single GPU probe; log cleanup
Add ensure_pip_available() that verifies python -s -m pip --version and python -s -m pip list; bootstrap with ensurepip and upgrade pip/setuptools/wheel if needed. Replace duplicate GPU probing with one torch-based probe persisted across user-switch and enumerate each GPU with name/CC/VRAM. Standardize SageAttention logs to a single “Compiling SageAttention…” headline.
2025-10-02 11:27:25 -06:00
clsferguson
01590a160f
feat(dockerfile): enable PEP 517 globally and preinstall Manager deps
Set PIP_USE_PEP517=1 so all builds use the standardized PEP 517 interface, suppressing legacy setup.py deprecation warnings during image build and runtime installs. Keep CUDA 12.9 toolchain and bake GitPython/toml to satisfy ComfyUI-Manager’s import checks without uv or venvs.
2025-10-02 11:14:34 -06:00
clsferguson
497dfe8199
chore(dockerfile): remove uv binary from image; rely on system-wide pip installs
Remove the multi-stage COPY that brought uv (/uv and /uvx) into /usr/local/bin. This image targets system-wide package management with no virtual environments, and uv’s pip interface does not support the --user scheme, requiring either a venv or explicit --system usage. Eliminating uv avoids the “No virtual environment found” and “--user is unsupported” paths while keeping ComfyUI-Manager functional via standard pip. ComfyUI-Manager can be configured via config.ini (use_uv) and, with GitPython preinstalled system-wide, will skip any uv-based bootstrap during startup.
2025-10-02 09:46:23 -06:00
clsferguson
2043b062a5
fix(dockerfile): disable ComfyUI-Manager uv usage to prevent --user errors
Add a pre-configured config.ini for ComfyUI-Manager with use_uv = false to prevent uv from attempting --user installs which are unsupported. Since GitPython and toml are pre-installed system-wide, Manager will find them via import without needing to install, but setting use_uv = false ensures any remaining dependency installs use regular pip instead of uv's unsupported --user path. This eliminates the "No virtual environment found; run uv venv or pass --system" error while maintaining the "no venvs" constraint.
2025-10-02 09:16:56 -06:00
comfyanonymous
0e9d1724be
Add a .bat to the AMD portable to disable smart memory. (#10153) 2025-10-02 00:33:05 -04:00
clsferguson
03908b9b04
perf(entrypoint): probe GPUs first, log count/CC, exit early; unify installs as system-wide
Move a torch.cuda-based GPU probe to the top of the entrypoint, logging device count and compute capabilities and exiting immediately when no compatible GPU is found. Remove pip --user usage and PIP_USER so all runtime installs are system-wide (enabled by early chown of site-packages), avoiding uv’s lack of --user support while honoring the “no venvs” constraint. Keep Triton re-pin only when Turing strategy is detected; otherwise re-use baked Triton. Preserve SageAttention runtime build and Manager update behavior.
2025-10-01 21:25:12 -06:00
clsferguson
c8d47b2560
feat(dockerfile): bake Triton, GitPython, toml, and ComfyUI-Manager; pin system-wide deps
Bake more runtime dependencies into the image to reduce entrypoint work and avoid uv’s unsupported --user path without virtual environments. Pin Triton==3.4.0 alongside PyTorch 2.8/cu129, and install GitPython and toml system-wide so ComfyUI-Manager starts without attempting uv-based installs. Pre-clone ComfyUI-Manager into custom_nodes for faster startup; entrypoint will still update to origin/HEAD. No features removed; runtime paths and CUDA toolkit remain for SageAttention builds at startup.
2025-10-01 21:21:24 -06:00
rattus128
4965c0e2ac
WAN: Fix cache VRAM leak on error (#10141)
If this suffers an exception (such as a VRAM oom) it will leave the
encode() and decode() methods which skips the cleanup of the WAN
feature cache. The comfy node cache then ultimately keeps a reference
this object which is in turn reffing large tensors from the failed
execution.

The feature cache is currently setup at a class variable on the
encoder/decoder however, the encode and decode functions always clear
it on both entry and exit of normal execution.

Its likely the design intent is this is usable as a streaming encoder
where the input comes in batches, however the functions as they are
today don't support that.

So simplify by bringing the cache back to local variable, so that if
it does VRAM OOM the cache itself is properly garbage when the
encode()/decode() functions dissappear from the stack.
2025-10-01 18:42:16 -04:00
rattus128
911331c06c
sd: fix VAE tiled fallback VRAM leak (#10139)
When the VAE catches this VRAM OOM, it launches the fallback logic
straight from the exception context.

Python however refs the entire call stack that caused the exception
including any local variables for the sake of exception report and
debugging. In the case of tensors, this can hold on the references
to GBs of VRAM and inhibit the VRAM allocated from freeing them.

So dump the except context completely before going back to the VAE
via the tiler by getting out of the except block with nothing but
a flag.

The greately increases the reliability of the tiler fallback,
especially on low VRAM cards, as with the bug, if the leak randomly
leaked more than the headroom needed for a single tile, the tiler
would fallback would OOM and fail the flow.
2025-10-01 18:40:28 -04:00
Koratahiu
bb32d4ec31
feat: Add Epsilon Scaling node for exposure bias correction (#10132) 2025-10-01 17:59:07 -04:00
comfyanonymous
a6f83a4a1a
Support the new hunyuan vae. (#10150) 2025-10-01 17:19:13 -04:00
clsferguson
207b64dc4c
Update entrypoint.sh 2025-10-01 14:33:02 -06:00
Alexander Piskun
e4f99b479a
convert nodes_ip2p.pt to V3 schema (#10097) 2025-10-01 12:20:30 -07:00
Alexander Piskun
d9c0a4053d
convert nodes_lt.py to V3 schema (#10084) 2025-10-01 12:19:56 -07:00
Alexander Piskun
11bab7be76
convert nodes_pag.py to V3 schema (#10080) 2025-10-01 12:18:49 -07:00
Alexander Piskun
3af1881455
convert nodes_optimalsteps.py to V3 schema (#10074) 2025-10-01 12:18:04 -07:00
Alexander Piskun
e0210ce0a7
convert nodes_differential_diffusion.py to V3 schema (#10056) 2025-10-01 12:17:33 -07:00
Alexander Piskun
7eb7160db4
convert nodes_gits.py to V3 schema (#9949) 2025-10-01 12:16:59 -07:00
Alexander Piskun
638097829d
convert nodes_audio_encoder.py to V3 schema (#10123) 2025-09-30 23:00:22 -07:00
AustinMroz
c4a8cf60ab
Bump frontend to 1.27.7 (#10133) 2025-09-30 22:12:32 -07:00
GitHub Actions
2c099490d4 Merge upstream/master, keep local README.md 2025-10-01 05:03:19 +00:00
clsferguson
66bf02226a
Update sync-build-release.yml 2025-09-30 22:50:18 -06:00
clsferguson
36ebd94215
Update sync-build-release.yml 2025-09-30 22:49:27 -06:00
clsferguson
a719a6ad41
Update sync-build-release.yml 2025-09-30 22:42:54 -06:00
clsferguson
14e8bb4ef8
Update sync-build-release.yml 2025-09-30 22:41:26 -06:00
clsferguson
1169a1155d
Update sync-build-release.yml 2025-09-30 22:33:57 -06:00
clsferguson
6073804c99
Update sync-build-release.yml 2025-09-30 22:31:21 -06:00
clsferguson
3f8212cb2e
Update sync-build-release.yml 2025-09-30 22:28:44 -06:00
clsferguson
a0d4cc2faf
Roll back entrypoint.sh 2025-09-30 22:03:26 -06:00
clsferguson
77ec7befa2
feat(ci): clean runners pre-build, GH-hosted first, self-hosted fallback, fail if both fail
- Add pre-build cleanup on GitHub-hosted runner using jlumbroso/free-disk-space plus Docker builder/system prune to maximize available disk for Docker builds.
- Add pre-build Docker cache pruning and disk checks on self-hosted runner to keep it minimal and appropriate for ephemeral runners.
- Change fallback logic to run self-hosted only if the GitHub-hosted build fails, using needs.<job>.result with always() to ensure the fallback job triggers after a primary failure.
- Keep GHCR login via docker/login-action@v3 and Buildx via docker/setup-buildx-action@v3; build with docker/build-push-action@v6.
- Publish release only if either build path succeeds; fail workflow if both builds or release publish fail.
- Remove post-build cleanup steps (BuildKit image removal and general pruning) to align with instruction not to worry about post cleanup on ephemeral runners.
2025-09-30 21:59:41 -06:00
clsferguson
db5ae38c11
fix(entrypoint): probe GPU once at startup before permissions; exit fast if not compatible
- Add early GPU probe that first tries nvidia-smi, then torch, with compute capability >= 7.5 gating; write a pass flag to avoid reprobe; exit 42 otherwise to prevent unnecessary work.
- Move GPU detection before any user/permission operations to stop repeated permission logs on restarts.
- Replace bracketed Markdown URLs with plain URLs in git commands.
2025-09-30 16:11:07 -06:00
clsferguson
249ff20e20
ci(sync): detect upstream release, sync master, build with GH fallback, and publish release
- Gate on new upstream release whose tag matches comfyui_version.py; skip if already released locally.
- Sync master from upstream (keep local README.md), then build and push image on GH runner with pre-clean; fallback to ephemeral self-hosted if GH build fails; publish release if either path succeeds.
- Remove unnecessary post-job cleanup since runners are ephemeral; rely on setup-buildx cleanup.
2025-09-30 15:07:11 -06:00
clsferguson
ae49228b6e
ci(workflow): remove post-job Docker prunes; keep pre-clean and reliable self-hosted fallback
- Keep pre-build cleanup on GH runners (free-disk-space action and Docker builder/system prune) to prevent ENOSPC during builds.
- Remove post-job prune steps for both GH and ephemeral self-hosted runners since runners are discarded after the job and setup-buildx uses cleanup=true to remove builders automatically.
- Retain fallback: self-hosted build runs only if the GH build fails; publish succeeds if either path succeeds; final job fails only if both builds fail.
2025-09-30 14:55:38 -06:00
clsferguson
fba33ec275
chore(dockerfile): remove strict duplicate libcairo2 and add onnxruntime-gpu
- Remove libcairo2 from apt since libcairo2-dev already depends on and installs it; avoids redundant listing while keeping Cairo headers needed for builds.
- Add onnxruntime-gpu to Python dependencies so CUDAExecutionProvider is available without runtime installation steps.
2025-09-30 14:44:37 -06:00
clsferguson
f4d9284f63
fix(entrypoint): remove ONNX install and resolve heredoc EOF by eliminating brace-group usage
- Drop runtime ONNX Runtime installer/check block that used a heredoc followed by a brace group, causing “unexpected end of file”.
- Keep Manager pip preflight and toml preinstall; retain unified torch-based GPU probe and SageAttention flow.
2025-09-30 14:27:17 -06:00
comfyanonymous
bab8ba20bf ComfyUI version 0.3.62. 2025-09-30 15:12:07 -04:00
clsferguson
dea2903ce2
ci: free disk on GH runner, prune Docker cache, and reliable self-hosted fallback
- Add “Free Disk Space (Ubuntu)” and Docker prune steps before/after the GitHub-hosted build to recover tens of GB and avoid “no space left on device” failures on ubuntu-latest.
- Remove continue-on-error and gate the self-hosted job with `always() && needs.build-gh.result != 'success'` so it runs only if the GH build fails, while publish proceeds if either path succeeds.
- Enable buildx GHA cache (cache-from/cache-to) to minimize runner disk pressure and rebuild times without loading images locally.
2025-09-30 13:03:03 -06:00
clsferguson
79c06245ff
chore(entrypoint): remove runtime uv installation; rely on Dockerfile-provided uv
- Drop runtime installer for uv; uv is now baked into the image via Dockerfile.
- Keep pip preflight (ensurepip) and toml preinstall to satisfy ComfyUI-Manager’s prestartup requirements.
- Retain unified torch-based GPU probe, SageAttention setup, custom node install flow, and ONNX Runtime CUDA provider guard.
2025-09-30 12:18:05 -06:00
clsferguson
92c42da226
feat(dockerfile): install latest uv from official distroless image
- Copy uv and uvx from ghcr.io/astral-sh/uv:latest into /usr/local/bin to provide a fast package manager at build time without curl, always fetching the newest release. [web:200]
- Keeps image GPU-agnostic and improves cold-starts while entrypoint retains pip fallback for robustness in multiuser environments. [web:185]
2025-09-30 12:10:45 -06:00