Adds a concise guide to `docs/release-process.md` explaining how the release workflows interact, with focus on the version semantics that differ between minor and patch bumps. Key sections: - How minor bumps freeze the previous minor into `core/` and `cloud/` branches - How patch bumps on `main` vs `core/X.Y` differ (published vs draft releases) - Why unreleased commits are dual-homed when a minor bump happens - Summary table, backporting, publishing, and bi-weekly automation ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9548-docs-add-release-process-guide-31d6d73d365081f2bdaace48a7cb81ae) by [Unito](https://www.unito.io) --------- Co-authored-by: Alexander Brown <drjkl@comfy.org>
2.2 KiB
Release Process
Bump Types
All releases use release-version-bump.yaml. Effects differ by bump type:
| Bump | Target | Creates branches? | GitHub release |
|---|---|---|---|
| Minor | main |
core/ + cloud/ for previous minor |
Published, "latest" |
| Patch | main |
No | Published, "latest" |
| Patch | core/X.Y |
No | Draft (uncheck "latest") |
| Prerelease | any | No | Draft + prerelease |
Minor bump (e.g. 1.41→1.42): freezes the previous minor into core/1.41
and cloud/1.41, branched from the commit before the bump. Nightly patch
bumps on main are convenience snapshots — no branches created.
Patch on core/X.Y: publishes a hotfix draft release. Must not be marked
"latest" so main stays current.
Dual-homed commits
When a minor bump happens, unreleased commits appear in both places:
v1.40.1 ── A ── B ── C ── [bump to 1.41.0]
│
└── core/1.40
A, B, C become v1.41.0 on main AND sit on core/1.40 (where they could
later ship as v1.40.2). Same commits, no divergence — the branch just prevents
1.41+ features from mixing in so ComfyUI can stay on 1.40.x.
Backporting
- Add
needs-backport+ version label to the merged PR pr-backport.yamlcherry-picks and creates a backport PR- Conflicts produce a comment with details and an agent prompt
Publishing
Merged PRs with the Release label trigger release-draft-create.yaml,
publishing to GitHub Releases (dist.zip), PyPI (comfyui-frontend-package),
and npm (@comfyorg/comfyui-frontend-types).
Bi-weekly ComfyUI Integration
release-biweekly-comfyui.yaml runs every other Monday — if the next core/
branch has unreleased commits, it triggers a patch bump and drafts a PR to
Comfy-Org/ComfyUI updating requirements.txt.
Workflows
| Workflow | Purpose |
|---|---|
release-version-bump.yaml |
Bump version, create Release PR |
release-draft-create.yaml |
Build + publish to GitHub/PyPI/npm |
release-branch-create.yaml |
Create core/ + cloud/ branches (minor/major) |
release-biweekly-comfyui.yaml |
Auto-patch + ComfyUI requirements PR |
pr-backport.yaml |
Cherry-pick fixes to stable branches |
cloud-backport-tag.yaml |
Tag cloud branch merges |