Alexander Brown
81e6282599
Chore: pnpm build ignores and version centralization ( #10687 )
...
## Summary
Just pnpm pieces. Centralize the pnpm version for corepack/actions.
Ignore builds from some recent deps.
2026-03-28 16:38:02 -07:00
sno
4a8f68a6bd
ci: upgrade pnpm/action-setup to v4.4.0 (Node.js 24) ( #10137 )
...
Upgrades `pnpm/action-setup` from v4.2.0 to v4.4.0 across all 16
workflow files and the shared `setup-frontend` action.
## Why
GitHub Actions will force Node.js 24 as the default starting June 2,
2026. The v4.2.0 pin ran on Node.js 20 and emitted deprecation warnings
on every CI run. v4.4.0 was released specifically to address this,
updating the action runtime to Node.js 24.
- Fixes the warning: *"pnpm/action-setup@41ff72... Actions will be
forced to run with Node.js 24 by default starting June 2nd, 2026"*
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-10137-ci-upgrade-pnpm-action-setup-to-v4-4-0-Node-js-24-3266d73d36508176b157fcd1d33f2274 )
by [Unito](https://www.unito.io )
2026-03-17 05:53:24 -07:00
Christian Byrne
46dad2e077
ops: restrict PyPI publishing to bi-weekly ComfyUI releases ( #9948 )
...
## Summary
Restrict PyPI publishing of `comfyui-frontend-package` to bi-weekly
ComfyUI release cycles only, instead of every nightly version bump.
## Changes
- **What**: Move `publish_pypi` job from `release-draft-create.yaml` to
`release-biweekly-comfyui.yaml`
1. Removed `publish_pypi` job from `release-draft-create.yaml` (no
longer publishes on every merged Release PR)
2. Added `publish-pypi` job to `release-biweekly-comfyui.yaml` with tag
polling, build, publish, and PyPI availability confirmation
3. Gated `create-comfyui-pr` on `publish-pypi` success so the ComfyUI
requirements bump PR is only created after the package is confirmed
available
4. Updated ComfyUI PR body to confirm PyPI availability instead of
warning about a pending release PR
- **Breaking**: None — nightly releases still create GitHub releases and
publish npm types; only PyPI publishing timing changes
- **Dependencies**: None
## Review Focus
- The `publish-pypi` job uses `if: always() &&
needs.resolve-version.result == 'success'` to run even when
`trigger-release-if-needed` is skipped (tag already exists)
- Tag polling (30min timeout) waits for the version bump PR to be merged
before building from the tagged commit
- PyPI propagation polling (15min timeout) confirms the package is
installable before creating the ComfyUI PR
Fixes COM-16778
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9948-ops-restrict-PyPI-publishing-to-bi-weekly-ComfyUI-releases-3246d73d36508198b00fcc247ac5b58c )
by [Unito](https://www.unito.io )
---------
Co-authored-by: GitHub Action <action@github.com >
2026-03-16 13:11:15 -07:00
Benjamin Lu
750a2d23e0
chore: standardize on Node 24 ( #9521 )
...
## Summary
Standardize the repo's Node contract on 24 while centralizing workflow
resolution through `.nvmrc` so local setup, CI, and package metadata
stay aligned from one version file.
## Changes
- **What**: Add `package.json` `engines.node = 24.x`, switch every
`actions/setup-node` workflow in the repo to `node-version-file:
'.nvmrc'`, and update contributor and Playwright docs to point to
`.nvmrc` as the Node source of truth.
## Review Focus
The workflow behavior should be unchanged apart from sourcing the Node
version from `.nvmrc` instead of repeating literals like `20`, `22`,
`24.x`, or `lts/*`. GitHub's formatter also moved the new `engines`
block to the package metadata section near the end of `package.json`.
---------
Co-authored-by: GitHub Action <action@github.com >
Co-authored-by: Alexander Brown <drjkl@comfy.org >
2026-03-07 09:06:10 +00:00
Benjamin Lu
e4b456bb2c
fix: publish desktop-specific frontend release artifact ( #9206 )
...
## Summary
- add a desktop-specific frontend release artifact (`dist-desktop.zip`)
in release draft creation
- build `dist-desktop.zip` with `DISTRIBUTION=desktop`
- keep existing `dist.zip` behavior for core/PyPI consumers
- extend `scripts/zipdist.js` to support custom source and output paths
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9206-fix-publish-desktop-specific-frontend-release-artifact-3126d73d3650812495cdf6e9ad2ac280 )
by [Unito](https://www.unito.io )
2026-02-25 03:35:41 -08:00
Alexander Brown
b4649bc96d
Set IS_NIGHTLY right when we build ( #8482 )
...
## Summary
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8482-Set-IS_NIGHTLY-right-when-we-build-2f86d73d365081009fdbc2aee8f7545d )
by [Unito](https://www.unito.io )
2026-01-30 01:11:41 -08:00
Alexander Brown
bd4920febc
Chore: Actions updates and cleanup ( #8377 )
...
## Summary
...
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8377-WIP-Chore-Actions-updates-and-cleanup-2f66d73d3650818483a8dffa32a6f245 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-01-28 21:22:39 -08:00
Christian Byrne
cafd2de961
ci: comment when publish to npm/pypi finishes successfully ( #6628 )
...
This change adds a reusable `post-release-summary` composite action that
automatically figures out the current/previous version, generates diff +
PyPI/npm links, and posts (or updates) the release summary comment
whenever the publish jobs succeed.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6628-ci-comment-when-publish-to-npm-pypi-finishes-successfully-2a46d73d36508181a8d0eb050efe7762 )
by [Unito](https://www.unito.io )
2025-11-07 20:55:51 -07:00
Copilot
aa943ac565
CI: Remove .cache caching from GitHub Actions workflows ( #6097 )
...
## Overview
Removes **all `actions/cache` steps** from GitHub Actions workflows
after empirical testing showed that they actually **slow down CI/CD by
11%** rather than speeding it up.
## Context
As discussed in #5988 , the codebase has evolved with components moving
into the `/packages` directory structure. The review comment suggested
removing the entire `actions/cache` step rather than just the `.cache`
path to properly evaluate performance impact.
## Performance Benchmark Results
Empirical testing on this PR (commits 38695ae0b vs ab16635c5 ) revealed
that **removing cache steps improves CI performance across all
workflows**:
| Workflow | WITHOUT Cache | WITH Cache | Improvement |
|----------|---------------|------------|-------------|
| **CI: Lint Format** | 208s (3m 28s) | 226s (3m 46s) | **-18s (-8.7%)**
⚡ |
| **CI: Tests Unit** | 160s (2m 40s) | 177s (2m 57s) | **-17s (-10.6%)**
⚡ |
| **CI: Tests Storybook** | 65s (1m 5s) | 78s (1m 18s) | **-13s
(-20.0%)** ⚡ |
| **Total Pipeline** | **433s (7m 13s)** | **481s (8m 1s)** | **-48s
(-11.1%)** ⚡ |
### Why is caching slower?
1. **Cache overhead exceeds benefits**: Time spent saving/restoring
cache > time saved from cached content
2. **Complex cache key computation**: Hash calculations for file
patterns add processing time
3. **Network I/O cost**: Each cache step adds network round-trips
4. **Tools already optimize incrementally**: ESLint, Vitest, Prettier
handle their own incremental checks efficiently
## Changes
Removed the entire `actions/cache` step from 8 workflow files:
- `ci-lint-format.yaml` - Removed tool outputs cache (.eslintcache,
.prettierCache, .knip-cache, tsconfig.tsbuildinfo)
- `ci-tests-storybook.yaml` - Removed storybook-static and
tsconfig.tsbuildinfo cache (both jobs)
- `ci-tests-unit.yaml` - Removed coverage and .vitest-cache
- `api-update-electron-api-types.yaml` - Removed tsconfig.tsbuildinfo
cache
- `api-update-manager-api-types.yaml` - Removed tool cache and
ComfyUI-Manager repo cache
- `api-update-registry-api-types.yaml` - Removed tool cache and
comfy-api repo cache
- `release-draft-create.yaml` - Removed tsconfig.tsbuildinfo cache
- `release-pypi-dev.yaml` - Removed dist and tsconfig.tsbuildinfo cache
**What remains cached:**
- ✅ pnpm packages via `cache: 'pnpm'` in setup-node actions (the most
valuable cache)
- ✅ Tool-specific incremental caches generated fresh each run
- ✅ Docker layer caching (where applicable)
## Testing
- ✅ Empirical performance testing completed (see benchmark results
above)
- ✅ All cache steps removed successfully
- ✅ No structural changes to workflow logic
- ✅ pnpm package caching remains active
## Conclusion
The benchmark data clearly shows that removing `actions/cache` steps
results in **faster, simpler CI workflows**. The overhead of cache
management exceeds any benefit, especially with pnpm package caching
already handling the most time-consuming dependency installations.
**Recommendation: ✅ Proceed with this change**
## Test Methodology
1. **WITHOUT cache** (commit
[38695ae0b ](https://github.com/Comfy-Org/ComfyUI_frontend/commit/38695ae0b )):
Removed all `actions/cache` steps → [Workflow
run](https://github.com/Comfy-Org/ComfyUI_frontend/actions/runs/18654024806 )
2. **WITH cache** (commit
[ab16635c5 ](https://github.com/Comfy-Org/ComfyUI_frontend/commit/ab16635c5 )):
Temporarily restored all `actions/cache` steps → [Workflow
run](https://github.com/Comfy-Org/ComfyUI_frontend/actions/runs/18654143363 )
3. **Final state** (commit
[3ce876f87 ](https://github.com/Comfy-Org/ComfyUI_frontend/commit/3ce876f87 )):
Restored no-cache version (current)
Fixes #5988
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: snomiao <7323030+snomiao@users.noreply.github.com >
Co-authored-by: snomiao <snomiao@gmail.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-20 11:15:56 -07:00
Christian Byrne
2c221bdd7b
[ci] enable minification in build workflows ( #6116 )
...
## Summary
Continuation of https://github.com/Comfy-Org/ComfyUI_frontend/pull/6068 :
set `SHOULD_MINIFY` in build workflows to enable minification.
Our build plugin dictates what files are available for extensions to
import at runtime:
bfe083dcba/build/plugins/comfyAPIPlugin.ts (L52)
The shimming marks these files and their named exports and named memebrs
as side-effectful, so names should be preserved from the perspective of
3rd party extensions, making this safe in theory.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6116-ci-enable-minification-in-build-workflows-2906d73d36508141be57f63b619f9f16 )
by [Unito](https://www.unito.io )
2025-10-18 01:47:43 -07:00
snomiao
8cc5b52c64
refactor: reorganize GitHub workflows with consistent naming convention ( #5891 )
...
## Summary
This PR implements a systematic naming convention for all GitHub
workflows to improve organization and discoverability. All 22 workflows
have been renamed and grouped by logical categories with consistent
prefixes.
## Changes
### Naming Convention
- **`ci-*`**: Continuous Integration workflows (testing, linting,
validation)
- **`pr-*`**: PR-specific automation triggered by labels
- **`release-*`**: Release management workflows
- **`types-*`**: TypeScript type generation workflows
- **`i18n-*`**: Internationalization workflows
### Key Renames
- `tests-ci.yaml` → `ci-tests-e2e.yaml`
- `vitest-tests.yaml` → `ci-tests-unit.yaml`
- `storybook-and-chromatic-ci.yaml` → `ci-tests-storybook.yaml`
- `auto-backport.yaml` → `pr-backport.yaml`
- `claude-pr-review.yml` → `pr-claude-review.yaml`
- `version-bump.yaml` → `release-version-bump.yaml`
- `publish-frontend-types.yaml` → `release-npm-types.yaml`
- `create-dev-pypi-package.yaml` → `release-pypi-dev.yaml`
### Test Workflow Improvements
- Grouped all test workflows under `ci-tests-*` pattern
- Fork-safe deployment workflows: `ci-tests-e2e-forks.yaml`,
`ci-tests-storybook-forks.yaml`
- Added comments explaining fork deployment security workarounds
### Documentation
- Added comprehensive `.github/workflows/README.md`
- Documents naming conventions, best practices, and workflow
organization
- Includes trigger patterns and external dependencies
## Benefits
1. **Better Organization**: Workflows are now grouped logically by
prefix
2. **Improved Discoverability**: Easy to find related workflows
3. **Consistent Naming**: All workflows follow the same pattern
4. **Clear Purpose**: Workflow names immediately indicate their function
5. **Maintainable**: README provides guidelines for future workflows
## Test Plan
- [x] All workflow cross-references updated
- [x] Display names match new file names
- [x] Fork deployment workflows properly reference main workflows
- [x] Release workflows reference correct npm types workflow
- [x] All workflows retain original functionality
🤖 Generated with [Claude Code](https://claude.ai/code )
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5891-refactor-reorganize-GitHub-workflows-with-consistent-naming-convention-2806d73d365081febe47c7511bf0507e )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Alexander Brown <drjkl@comfy.org >
2025-10-17 08:32:33 +09:00