Skip to content

docs: add release process guide#9548

Merged
DrJKL merged 4 commits intoComfy-Org:mainfrom
christian-byrne:docs/release-process-guide
Mar 9, 2026
Merged

docs: add release process guide#9548
DrJKL merged 4 commits intoComfy-Org:mainfrom
christian-byrne:docs/release-process-guide

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Mar 8, 2026

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 by Unito

@christian-byrne christian-byrne requested a review from a team as a code owner March 8, 2026 00:35
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Mar 8, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 8, 2026

📝 Walkthrough

Walkthrough

Adds docs/release-process.md, a new document that defines version bump types, target branches and branch-creation rules, release publishing states, backporting automation and workflows, and a bi-weekly ComfyUI integration workflow.

Changes

Cohort / File(s) Summary
Release Process Documentation
docs/release-process.md
New markdown doc specifying bump types (minor/patch/prerelease), target branches and branch-creation rules (main, core/, cloud/, stable), dual-homing behavior for unreleased commits, backport labeling and cherry-pick automation, CI publishing triggers and targets (dist.zip, PyPI, npm), bi-weekly ComfyUI integration, and a summary table referencing related GitHub workflows (release-version-bump.yaml, release-branch-create.yaml, release-draft-create.yaml, pr-backport.yaml, release-biweekly-comfyui.yaml, cloud-backport-tag.yaml).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 I nibbled through the changelog bright,

Bumps and branches all in sight,
Drafts and backports neatly planned,
ComfyUI joins the band,
Hooray—release trails take flight! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description provides context about the release process documentation being added but does not follow the required template structure with Summary, Changes, and Review Focus sections. Restructure the description to match the required template, including explicit Summary and Changes sections with 'What' and any relevant subsections.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'docs: add release process guide' is concise, clear, and accurately describes the main change - adding documentation about the release process.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

github-actions bot commented Mar 8, 2026

🎨 Storybook: loading Building...

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
docs/release-process.md (1)

15-20: Add language specifications to fenced code blocks.

The ASCII diagrams are missing language identifiers. Adding text or plaintext after the opening backticks improves markdown rendering and satisfies linter requirements.

📝 Proposed fix for code block language specifications

For lines 15-20:

-```
+```text
 main:  ──A──B──C──D──[bump to 1.42.0]──E──F──G── ...
                   │
                   ├── core/1.41  (branched from D)
                   └── cloud/1.41 (branched from D)

**For lines 51-53:**
```diff
-```
+```text
 v1.40.1 ── A ── B ── C ── [bump to 1.41.0]
</details>


Also applies to: 51-53

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/release-process.md around lines 15 - 20, The fenced ASCII diagram code
blocks in the release-process doc lack language identifiers; update the opening
backticks for the two diagrams (the block showing the main/core/cloud branch
diagram containing "main: ──A──B──C..." and the smaller "v1.40.1 ── A ── B ── C
..." block) to include a plain text language tag (e.g., change "" to "text" or "```plaintext") so markdown renders them as plain text and
satisfies the linter.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Inline comments:
In @docs/release-process.md:

  • Around line 84-89: Update the npm package name entry in the release process
    docs: replace the incorrect package string @comfyorg/comfyui-frontend-types in
    the "Channel | Package" table with the correct @comfyorg/comfyui-frontend,
    leaving the rest of the table (GitHub Releases dist.zip and PyPI
    comfyui-frontend-package) unchanged.

Nitpick comments:
In @docs/release-process.md:

  • Around line 15-20: The fenced ASCII diagram code blocks in the release-process
    doc lack language identifiers; update the opening backticks for the two diagrams
    (the block showing the main/core/cloud branch diagram containing "main:
    ──A──B──C..." and the smaller "v1.40.1 ── A ── B ── C ..." block) to include a
    plain text language tag (e.g., change "" to "text" or "```plaintext") so
    markdown renders them as plain text and satisfies the linter.

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: Path: .coderabbit.yaml

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `ea7e630c-aea2-4337-bf60-fd8cf1c0acb3`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between c4156d705999dec1104608e606d8bb50b23aa873 and af9cb5b4f3026b18fd8f8b75a58cb4de2ca6f634.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `docs/release-process.md`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment on lines +84 to +89
| Channel | Package |
|---|---|
| GitHub Releases | `dist.zip` |
| PyPI | `comfyui-frontend-package` |
| npm | `@comfyorg/comfyui-frontend-types` |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify package names match repository configuration

echo "Checking npm package name..."
if [ -f "package.json" ]; then
  npm_name=$(jq -r '.name' package.json)
  echo "Found in package.json: $npm_name"
  if [ "$npm_name" = "@comfyorg/comfyui-frontend-types" ]; then
    echo "✓ npm package name matches documentation"
  else
    echo "⚠ npm package name differs from documentation"
  fi
fi

echo ""
echo "Checking PyPI package name..."
for pyfile in pyproject.toml setup.py setup.cfg; do
  if [ -f "$pyfile" ]; then
    echo "Found: $pyfile"
    case "$pyfile" in
      pyproject.toml)
        if grep -q "name.*comfyui-frontend-package" "$pyfile"; then
          echo "✓ PyPI package name matches documentation"
        else
          echo "PyPI package name in $pyfile:"
          grep "name" "$pyfile" | head -1
        fi
        ;;
      setup.py)
        if grep -q "name.*comfyui-frontend-package" "$pyfile"; then
          echo "✓ PyPI package name matches documentation"
        else
          echo "PyPI package name in $pyfile:"
          grep "name" "$pyfile" | head -1
        fi
        ;;
    esac
  fi
done

Repository: Comfy-Org/ComfyUI_frontend

Length of output: 225


🏁 Script executed:

# Find configuration files related to PyPI/Python packaging
find . -type f \( -name "pyproject.toml" -o -name "setup.py" -o -name "setup.cfg" -o -name "*.toml" \) 2>/dev/null | head -20

Repository: Comfy-Org/ComfyUI_frontend

Length of output: 105


🏁 Script executed:

# Search for references to the PyPI package name in the repository
rg "comfyui-frontend-package" --type md --type txt --type toml --type yaml -i

Repository: Comfy-Org/ComfyUI_frontend

Length of output: 296


🏁 Script executed:

# Check if there's a separate types package or verify npm package details
cat package.json | jq '.description, .version, .keywords' 2>/dev/null

Repository: Comfy-Org/ComfyUI_frontend

Length of output: 130


🏁 Script executed:

cat ./comfyui_frontend_package/setup.py | head -30

Repository: Comfy-Org/ComfyUI_frontend

Length of output: 347


Fix the npm package name in the documentation.

The npm package name should be @comfyorg/comfyui-frontend, not @comfyorg/comfyui-frontend-types. The -types suffix does not exist in the actual package.json. The PyPI package name comfyui-frontend-package is correct.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/release-process.md` around lines 84 - 89, Update the npm package name
entry in the release process docs: replace the incorrect package string
`@comfyorg/comfyui-frontend-types` in the "Channel | Package" table with the
correct `@comfyorg/comfyui-frontend`, leaving the rest of the table (GitHub
Releases `dist.zip` and PyPI `comfyui-frontend-package`) unchanged.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (1)
docs/release-process.md (1)

88-92: ⚠️ Potential issue | 🟡 Minor

Fix the npm package name in the documentation.

The npm package name should be @comfyorg/comfyui-frontend, not @comfyorg/comfyui-frontend-types. This issue was previously identified and remains unresolved.

📝 Proposed fix
 | Channel | Package |
 |---|---|
 | GitHub Releases | `dist.zip` |
 | PyPI | `comfyui-frontend-package` |
-| npm | `@comfyorg/comfyui-frontend-types` |
+| npm | `@comfyorg/comfyui-frontend` |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/release-process.md` around lines 88 - 92, The npm package name in the
release channel table is incorrect: locate the "Channel | Package" markdown
table (the npm row) and replace the package string
'@comfyorg/comfyui-frontend-types' with the correct '@comfyorg/comfyui-frontend'
so the npm entry reads the correct package name.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/release-process.md`:
- Around line 15-20: The fenced diagram block in docs/release-process.md is
missing a language specifier; update the opening triple-backtick for the block
that contains the branch diagram (the block starting with "main: 
──A──B──C──D──[bump to 1.42.0]──E──F──G── ...") to include a language tag such
as text (e.g., change ``` to ```text) so markdown renderers apply proper syntax
highlighting and the document is compliant.
- Around line 51-53: Update the fenced code block surrounding the string
"v1.40.1 ── A ── B ── C ── [bump to 1.41.0]" to include a language specifier
(e.g., use ```text instead of ```), so the block is markdown-compliant and
renders with proper syntax highlighting; change the opening backticks only and
keep the content and closing backticks unchanged.

---

Duplicate comments:
In `@docs/release-process.md`:
- Around line 88-92: The npm package name in the release channel table is
incorrect: locate the "Channel | Package" markdown table (the npm row) and
replace the package string '@comfyorg/comfyui-frontend-types' with the correct
'@comfyorg/comfyui-frontend' so the npm entry reads the correct package name.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 74d5cf59-709a-4e8b-9da1-7fc771d5feee

📥 Commits

Reviewing files that changed from the base of the PR and between af9cb5b and bd50533.

📒 Files selected for processing (1)
  • docs/release-process.md

Comment on lines +15 to +20
```
main: ──A──B──C──D──[bump to 1.42.0]──E──F──G── ...
├── core/1.41 (branched from D)
└── cloud/1.41 (branched from D)
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add language specifier to fenced code block.

The fenced code block should include a language identifier for proper syntax highlighting and markdown compliance.

📝 Proposed fix
-```
+```text
 main:  ──A──B──C──D──[bump to 1.42.0]──E──F──G── ...
                   │
                   ├── core/1.41  (branched from D)
                   └── cloud/1.41 (branched from D)
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 15-15: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/release-process.md` around lines 15 - 20, The fenced diagram block in
docs/release-process.md is missing a language specifier; update the opening
triple-backtick for the block that contains the branch diagram (the block
starting with "main:  ──A──B──C──D──[bump to 1.42.0]──E──F──G── ...") to include
a language tag such as text (e.g., change ``` to ```text) so markdown renderers
apply proper syntax highlighting and the document is compliant.

Comment on lines +51 to +53
```
v1.40.1 ── A ── B ── C ── [bump to 1.41.0]
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add language specifier to fenced code block.

The fenced code block should include a language identifier for proper syntax highlighting and markdown compliance.

📝 Proposed fix
-```
+```text
 v1.40.1 ── A ── B ── C ── [bump to 1.41.0]
</details>

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.21.0)</summary>

[warning] 51-51: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/release-process.md around lines 51 - 53, Update the fenced code block
surrounding the string "v1.40.1 ── A ── B ── C ── [bump to 1.41.0]" to include a
language specifier (e.g., use text instead of ), so the block is
markdown-compliant and renders with proper syntax highlighting; change the
opening backticks only and keep the content and closing backticks unchanged.


</details>

<!-- fingerprinting:phantom:triton:puma -->

<!-- This is an auto-generated comment by CodeRabbit -->

@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Mar 8, 2026
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (2)
docs/release-process.md (2)

25-29: ⚠️ Potential issue | 🟡 Minor

Add a language tag to this fenced block.

This still triggers MD040 on Line 25.

Suggested fix
-```
+```text
 v1.40.1 ── A ── B ── C ── [bump to 1.41.0]
                 │
                 └── core/1.40
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/release-process.md around lines 25 - 29, The fenced code block starting
with and containing the release graph (the lines beginning "v1.40.1 ── A ── B ── C ── [bump to 1.41.0]") lacks a language tag and triggers MD040; fix it by adding a language tag (e.g., "text") to the opening backticks so the block becomestext, ensuring the linter no longer flags the block.


</details>

---

`43-45`: _⚠️ Potential issue_ | _🟡 Minor_

**Fix the npm package name in the publishing section.**

Line 45 still points to `@comfyorg/comfyui-frontend-types`; this guide should reference the actual published npm package instead.

 
<details>
<summary>Suggested fix</summary>

```diff
-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`).
+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`).
```
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

```
Verify each finding against the current code and only fix it if needed.

In `@docs/release-process.md` around lines 43 - 45, The docs currently list the
wrong npm package name (`@comfyorg/comfyui-frontend-types`) in the publishing
sentence; update that reference to the actual published npm package used by the
release workflow (the package published by release-draft-create.yaml) and ensure
the sentence mentions the correct npm package alongside dist.zip and
comfyui-frontend-package so it matches the release workflow configuration.
```

</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @docs/release-process.md:

  • Around line 25-29: The fenced code block starting with and containing the release graph (the lines beginning "v1.40.1 ── A ── B ── C ── [bump to 1.41.0]") lacks a language tag and triggers MD040; fix it by adding a language tag (e.g., "text") to the opening backticks so the block becomestext, ensuring the
    linter no longer flags the block.
  • Around line 43-45: The docs currently list the wrong npm package name
    (@comfyorg/comfyui-frontend-types) in the publishing sentence; update that
    reference to the actual published npm package used by the release workflow (the
    package published by release-draft-create.yaml) and ensure the sentence mentions
    the correct npm package alongside dist.zip and comfyui-frontend-package so it
    matches the release workflow configuration.

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: Path: .coderabbit.yaml

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `31a00f3c-16f4-4942-850a-e6defa51a669`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between bd505332c02ae249dde17ed054bc24a602a4179f and c3169f71911645cf41bbaa8f1c97d02ac596efd6.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `docs/release-process.md`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

@DrJKL DrJKL enabled auto-merge (squash) March 9, 2026 19:26
@DrJKL DrJKL disabled auto-merge March 9, 2026 19:38
@DrJKL DrJKL merged commit 46895ee into Comfy-Org:main Mar 9, 2026
14 checks passed
DrJKL added a commit that referenced this pull request Mar 10, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants