mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-03 22:59:14 +00:00
## Summary - Adds a local composite action at `.github/actions/setup-frontend` to replace the external `Comfy-Org/ComfyUI_frontend_setup_action` - Follows the same pattern as PR #5754 (sno-playwright-composite-action) for consistency - Updates workflows to use the new local composite action ## 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 - #5754 - Similar approach for Playwright composite action 🤖 Generated with [Claude Code](https://claude.ai/code)
68 lines
2.6 KiB
YAML
68 lines
2.6 KiB
YAML
name: Update Locales
|
|
|
|
on:
|
|
# Manual dispatch for urgent translation updates
|
|
workflow_dispatch:
|
|
# Only trigger on PRs to main/master - additional branch filtering in job condition
|
|
pull_request:
|
|
branches: [ main ]
|
|
types: [opened, synchronize, reopened]
|
|
|
|
jobs:
|
|
update-locales:
|
|
# Branch detection: Only run for manual dispatch or version-bump-* branches from main repo
|
|
if: github.event_name == 'workflow_dispatch' || (github.event.pull_request.head.repo.full_name == github.repository && startsWith(github.head_ref, 'version-bump-'))
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Setup Frontend
|
|
uses: ./.github/actions/setup-frontend
|
|
|
|
- name: Cache tool outputs
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
ComfyUI_frontend/.cache
|
|
ComfyUI_frontend/.cache
|
|
key: i18n-tools-cache-${{ runner.os }}-${{ hashFiles('ComfyUI_frontend/pnpm-lock.yaml') }}
|
|
restore-keys: |
|
|
i18n-tools-cache-${{ runner.os }}-
|
|
- name: Cache Playwright browsers
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/ms-playwright
|
|
key: playwright-browsers-${{ runner.os }}-${{ hashFiles('ComfyUI_frontend/pnpm-lock.yaml') }}
|
|
restore-keys: |
|
|
playwright-browsers-${{ runner.os }}-
|
|
- name: Install Playwright Browsers
|
|
run: pnpm exec playwright install chromium --with-deps
|
|
working-directory: ComfyUI_frontend
|
|
- name: Start dev server
|
|
# Run electron dev server as it is a superset of the web dev server
|
|
# We do want electron specific UIs to be translated.
|
|
run: pnpm dev:electron &
|
|
working-directory: ComfyUI_frontend
|
|
- name: Update en.json
|
|
run: pnpm collect-i18n
|
|
env:
|
|
PLAYWRIGHT_TEST_URL: http://localhost:5173
|
|
working-directory: ComfyUI_frontend
|
|
- name: Update translations
|
|
run: pnpm locale
|
|
env:
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
working-directory: ComfyUI_frontend
|
|
- name: Commit updated locales
|
|
run: |
|
|
git config --global user.name 'github-actions'
|
|
git config --global user.email 'github-actions@github.com'
|
|
git fetch origin ${{ github.head_ref }}
|
|
# Stash any local changes before checkout
|
|
git stash -u
|
|
git checkout -B ${{ github.head_ref }} origin/${{ github.head_ref }}
|
|
# Apply the stashed changes if any
|
|
git stash pop || true
|
|
git add src/locales/
|
|
git diff --staged --quiet || git commit -m "Update locales [skip ci]"
|
|
git push origin HEAD:${{ github.head_ref }}
|
|
working-directory: ComfyUI_frontend
|