Skip to content

Conversation

snomiao
Copy link
Member

@snomiao snomiao commented Sep 26, 2025

Summary

Motivation

Similar to the Playwright composite action, this change:

  • Reduces external dependencies on separate action repositories
  • Provides better control over versioning and updates
  • Maintains consistency with other composite actions in the repository
  • Simplifies maintenance by keeping all CI/CD logic in one place

Changes

New composite action: .github/actions/setup-frontend/action.yml

Direct mirror of the external action with the same 2 inputs:

  • extra_server_params: Additional parameters to pass to ComfyUI server
  • devtools_ref: Reference to use for ComfyUI_devtools

The action:

  1. Checks out ComfyUI, ComfyUI_frontend, and ComfyUI_devtools
  2. Sets up pnpm, Node.js (LTS), and Python (3.10)
  3. Installs all dependencies (Python packages, npm packages)
  4. Builds the frontend
  5. Starts the ComfyUI server with the built frontend

Updated workflows:

  • .github/workflows/i18n.yaml
  • .github/workflows/i18n-node-defs.yaml
  • .github/workflows/test-browser-exp.yaml

All workflows now use the local composite action instead of Comfy-Org/ComfyUI_frontend_setup_action@v3

Test plan

  • Verify all updated workflows pass CI tests
  • Confirm the composite action works in all scenarios
  • Check that build and server startup work as expected

Related PRs

🤖 Generated with Claude Code

Copy link

github-actions bot commented Sep 26, 2025

🎭 Playwright Test Results

⚠️ Tests passed with flaky tests

⏰ Completed at: 09/27/2025, 03:22:36 AM UTC

📈 Summary

  • Total Tests: 462
  • Passed: 430 ✅
  • Failed: 0
  • Flaky: 3 ⚠️
  • Skipped: 29 ⏭️

📊 Test Reports by Browser

  • chromium: View Report • ✅ 423 / ❌ 0 / ⚠️ 3 / ⏭️ 29
  • chromium-2x: View Report • ✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • chromium-0.5x: View Report • ✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • mobile-chrome: View Report • ✅ 4 / ❌ 0 / ⚠️ 0 / ⏭️ 0

🎉 Click on the links above to view detailed test results for each browser configuration.

@snomiao snomiao marked this pull request as ready for review September 26, 2025 20:10
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Sep 26, 2025
Copy link
Contributor

@DrJKL DrJKL left a comment

Choose a reason for hiding this comment

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

Great step forward🤞🏻

Then later we can see if we can kill a bunch of the code in the other actions.

Only required change is to use the devtools we have in the repo instead of checking out the other one.

Comment on lines +28 to +33
- name: Checkout ComfyUI_devtools
uses: actions/checkout@v4
with:
repository: 'Comfy-Org/ComfyUI_devtools'
path: 'ComfyUI/custom_nodes/ComfyUI_devtools'
ref: ${{ inputs.devtools_ref }}
Copy link
Contributor

Choose a reason for hiding this comment

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

We're not checking out devtools anymore, it's in the monorepo now.

using: 'composite'
steps:
- name: Checkout ComfyUI
uses: actions/checkout@v4
Copy link
Contributor

Choose a reason for hiding this comment

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

question: Are we not able to use v5?

pip install wait-for-it
- name: Build & Install ComfyUI_frontend
shell: bash
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
shell: bash

pnpm build
- name: Start ComfyUI server
shell: bash
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
shell: bash

python-version: '3.10'

- name: Install Python requirements
shell: bash
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
shell: bash

with:
repository: 'comfyanonymous/ComfyUI'
path: 'ComfyUI'
ref: 'master'
Copy link
Contributor

Choose a reason for hiding this comment

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

optional: If you don't set ref, it'll pick the default branch for you.

Similar to the Playwright composite action, this moves the frontend setup logic
from the external Comfy-Org/ComfyUI_frontend_setup_action into a local composite
action at .github/actions/setup-frontend.

Benefits:
- Reduces external dependencies
- Allows easier customization and maintenance
- Consistent with the Playwright composite action pattern
- Provides better control over versioning and updates

Updated workflows:
- i18n.yaml
- i18n-node-defs.yaml
- test-browser-exp.yaml

The new composite action provides the same functionality as the external action
with additional flexibility through configurable inputs for paths, versions, and
conditional steps.
Reduced inputs from 9 to 2, matching the original ComfyUI_frontend_setup_action:
- extra_server_params: Additional server parameters
- devtools_ref: Reference for ComfyUI_devtools

Removed unnecessary configurability that added complexity without value.
The action now directly mirrors the external action's simplicity.
@DrJKL DrJKL force-pushed the sno-frontend-setup-action branch from 623434f to d00f047 Compare September 27, 2025 03:10
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