mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-29 02:32:18 +00:00
refactor: reorganize GitHub Actions for better reusability
This refactoring improves the CI/CD workflow structure by: - Split the monolithic setup-frontend action into two focused actions: - setup-frontend: Now only handles frontend dependency installation and building - setup-comfyui-server: New action for ComfyUI server setup and launch - Simplified workflow structure with better separation of concerns: - Frontend and server setup are now independent and reusable - Each action has clearer responsibilities and inputs - Removed duplicate setup code across workflows - Improved tests-ci.yaml workflow: - Uses cache/save and cache/restore for the entire workspace - Test jobs now restore cached build instead of rebuilding - Reduced redundant setup steps in each test shard - Better parallelization with faster test execution - Updated all locale update workflows to use new action structure - Made setup-playwright a standalone reusable action Benefits: - Faster CI runs by reducing redundant builds - More maintainable with DRY principle - Easier to debug individual components - Better action reusability across workflows
This commit is contained in:
59
.github/actions/setup-frontend/action.yml
vendored
59
.github/actions/setup-frontend/action.yml
vendored
@@ -1,30 +1,16 @@
|
||||
name: Setup Frontend
|
||||
description: 'Setup ComfyUI frontend development environment'
|
||||
name: Build ComfyUI Frontend
|
||||
description: 'Install dependencies and build ComfyUI_frontend'
|
||||
inputs:
|
||||
extra_server_params:
|
||||
description: 'Additional parameters to pass to ComfyUI server'
|
||||
build_frontend:
|
||||
description: 'Whether to build the frontend'
|
||||
required: false
|
||||
default: ''
|
||||
default: 'true'
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Checkout ComfyUI
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: 'comfyanonymous/ComfyUI'
|
||||
path: 'ComfyUI'
|
||||
|
||||
- name: Checkout ComfyUI_frontend
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
path: 'ComfyUI_frontend'
|
||||
|
||||
- name: Copy ComfyUI_devtools from frontend repo
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p ComfyUI/custom_nodes/ComfyUI_devtools
|
||||
cp -r ComfyUI_frontend/tools/devtools/* ComfyUI/custom_nodes/ComfyUI_devtools/
|
||||
# Note: this workflow assume frontend repo is checked out in the root of the workspace
|
||||
|
||||
# Install pnpm, Node.js, build frontend
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
@@ -35,32 +21,13 @@ runs:
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
cache: 'pnpm'
|
||||
cache-dependency-path: 'ComfyUI_frontend/pnpm-lock.yaml'
|
||||
cache-dependency-path: './pnpm-lock.yaml'
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Install Python requirements
|
||||
- name: Install dependencies
|
||||
shell: bash
|
||||
working-directory: ComfyUI
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
|
||||
pip install -r requirements.txt
|
||||
pip install wait-for-it
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Build & Install ComfyUI_frontend
|
||||
- name: Build ComfyUI_frontend if needed
|
||||
if: ${{ inputs.build_frontend == 'true' }}
|
||||
shell: bash
|
||||
working-directory: ComfyUI_frontend
|
||||
run: |
|
||||
pnpm install --frozen-lockfile
|
||||
pnpm build
|
||||
|
||||
- name: Start ComfyUI server
|
||||
shell: bash
|
||||
working-directory: ComfyUI
|
||||
run: |
|
||||
python main.py --cpu --multi-user --front-end-root ../ComfyUI_frontend/dist ${{ inputs.extra_server_params }} &
|
||||
wait-for-it --service 127.0.0.1:8188 -t 600
|
||||
run: pnpm build
|
||||
|
||||
Reference in New Issue
Block a user