mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-11 16:10:05 +00:00
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>
63 lines
2.2 KiB
Markdown
63 lines
2.2 KiB
Markdown
# 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
|
|
|
|
1. Add `needs-backport` + version label to the merged PR
|
|
2. `pr-backport.yaml` cherry-picks and creates a backport PR
|
|
3. 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 |
|