From b578a422522909f5884909eb09bfc1616fd5a095 Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 2 Oct 2025 07:54:59 +0000 Subject: [PATCH 01/14] refactor: reorganize GitHub workflows with consistent naming convention MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Implement systematic naming convention using category prefixes - Group workflows logically: ci-, pr-, release-, types-, i18n- - Rename all 22 workflows for better organization and discoverability - Update workflow cross-references and display names - Add comprehensive README.md with naming guidelines and best practices Key changes: - CI workflows: ci-tests-e2e, ci-tests-unit, ci-tests-storybook, etc. - PR automation: pr-backport, pr-claude-review, pr-playwright-snapshots - Release management: release-version-bump, release-npm-types, etc. - Type generation: types-registry-api, types-manager-api, etc. - Internationalization: i18n-update-core, i18n-update-nodes, etc. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/README.md | 88 +++++++++++++++++++ ...date-json.yaml => ci-json-validation.yaml} | 2 +- ...nt-and-format.yaml => ci-lint-format.yaml} | 2 +- ...n-check.yaml => ci-python-validation.yaml} | 2 +- ...loy-forks.yaml => ci-tests-e2e-forks.yaml} | 6 +- .../{tests-ci.yaml => ci-tests-e2e.yaml} | 2 +- ...rks.yaml => ci-tests-storybook-forks.yaml} | 6 +- ...omatic-ci.yaml => ci-tests-storybook.yaml} | 2 +- .../{vitest-tests.yaml => ci-tests-unit.yaml} | 2 +- ...ate-locales.yaml => i18n-update-core.yaml} | 2 +- ...ory.yaml => i18n-update-custom-nodes.yaml} | 2 +- ...ns-locales.yaml => i18n-update-nodes.yaml} | 2 +- .../{auto-backport.yaml => pr-backport.yaml} | 2 +- ...de-pr-review.yml => pr-claude-review.yaml} | 2 +- ...ions.yaml => pr-playwright-snapshots.yaml} | 2 +- ...branch.yaml => release-branch-create.yaml} | 2 +- ...e-draft.yaml => release-draft-create.yaml} | 4 +- ...tend-types.yaml => release-npm-types.yaml} | 2 +- ...ypi-package.yaml => release-pypi-dev.yaml} | 2 +- ...on-bump.yaml => release-version-bump.yaml} | 2 +- ...ron-types.yaml => types-electron-api.yaml} | 2 +- ...-api-types.yaml => types-manager-api.yaml} | 2 +- ...api-types.yaml => types-registry-api.yaml} | 2 +- 23 files changed, 117 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/README.md rename .github/workflows/{validate-json.yaml => ci-json-validation.yaml} (90%) rename .github/workflows/{lint-and-format.yaml => ci-lint-format.yaml} (99%) rename .github/workflows/{devtools-python-check.yaml => ci-python-validation.yaml} (94%) rename .github/workflows/{pr-playwright-deploy-forks.yaml => ci-tests-e2e-forks.yaml} (96%) rename .github/workflows/{tests-ci.yaml => ci-tests-e2e.yaml} (99%) rename .github/workflows/{pr-storybook-deploy-forks.yaml => ci-tests-storybook-forks.yaml} (95%) rename .github/workflows/{storybook-and-chromatic-ci.yaml => ci-tests-storybook.yaml} (99%) rename .github/workflows/{vitest-tests.yaml => ci-tests-unit.yaml} (98%) rename .github/workflows/{update-locales.yaml => i18n-update-core.yaml} (99%) rename .github/workflows/{update-locales-for-given-custom-node-repository.yaml => i18n-update-custom-nodes.yaml} (99%) rename .github/workflows/{update-node-definitions-locales.yaml => i18n-update-nodes.yaml} (97%) rename .github/workflows/{auto-backport.yaml => pr-backport.yaml} (99%) rename .github/workflows/{claude-pr-review.yml => pr-claude-review.yaml} (99%) rename .github/workflows/{update-playwright-expectations.yaml => pr-playwright-snapshots.yaml} (98%) rename .github/workflows/{create-release-branch.yaml => release-branch-create.yaml} (99%) rename .github/workflows/{create-release-draft.yaml => release-draft-create.yaml} (98%) rename .github/workflows/{publish-frontend-types.yaml => release-npm-types.yaml} (99%) rename .github/workflows/{create-dev-pypi-package.yaml => release-pypi-dev.yaml} (98%) rename .github/workflows/{version-bump.yaml => release-version-bump.yaml} (98%) rename .github/workflows/{update-electron-types.yaml => types-electron-api.yaml} (98%) rename .github/workflows/{update-comfyui-manager-api-types.yaml => types-manager-api.yaml} (99%) rename .github/workflows/{update-comfy-registry-api-types.yaml => types-registry-api.yaml} (99%) diff --git a/.github/workflows/README.md b/.github/workflows/README.md new file mode 100644 index 0000000000..dd072da28b --- /dev/null +++ b/.github/workflows/README.md @@ -0,0 +1,88 @@ +# GitHub Workflows Documentation + +## Naming Convention + +All workflow files follow a consistent naming pattern for improved organization and discoverability. + +### File Naming Format + +``` +-.yaml +``` + +**Rules:** +1. Use `.yaml` extension consistently (not `.yml`) +2. Use lowercase letters only +3. Use hyphens (`-`) as word separators +4. Start with a category prefix (see below) +5. Follow prefix with a descriptive name that clearly indicates the workflow's purpose + +### Category Prefixes + +| Prefix | Category | Purpose | Example | +|--------|----------|---------|---------| +| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | +| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | +| `pr-` | PR Automation | PR-specific workflows triggered by labels | `pr-claude-review.yaml` | +| `types-` | Type Generation | TypeScript type generation and updates | `types-registry-api.yaml` | +| `i18n-` | Internationalization | Locale and translation updates | `i18n-update-core.yaml` | + +## Workflow Organization + +### Test Workflows (`ci-tests-*`) +- `ci-tests-e2e.yaml` - End-to-end testing with Playwright +- `ci-tests-unit.yaml` - Unit and component testing with Vitest +- `ci-tests-storybook.yaml` - Storybook build and visual regression testing +- `ci-tests-*-forks.yaml` - Fork-safe deployment workflows (deploy results without exposing secrets) + +### PR Label Workflows (`pr-*`) +These workflows are triggered when specific labels are added to PRs: + +| Workflow | Trigger Label | Purpose | +|----------|---------------|---------| +| `pr-backport.yaml` | `needs-backport` | Cherry-pick PRs to release branches | +| `pr-claude-review.yaml` | `claude-review` | AI-powered code review | +| `pr-playwright-snapshots.yaml` | `New Browser Test Expectations` | Update visual test snapshots | + +## Workflow Triggers + +### Common Trigger Patterns + +| Trigger Type | Use Case | Example | +|--------------|----------|---------| +| `push` to main/master | Production CI/CD | Deploy to production | +| `pull_request` | PR validation | Run tests, linting | +| `workflow_dispatch` | Manual execution | On-demand deployments | +| `repository_dispatch` | External triggers | API type updates | +| `workflow_run` | Chain workflows | Fork deployments | +| `schedule` | Periodic tasks | Nightly builds | +| Label added | Conditional actions | Review requests, snapshots | + +### Branch Protection Patterns + +- **Main branches**: `main`, `master` +- **Release branches**: `core/**`, `release/**` +- **Development branches**: `dev/**`, `develop/**` +- **Desktop branches**: `desktop/**` +- **WIP exclusion**: `!**wip/**`, `!wip/**` + +## Best Practices + +1. **Consistency**: Always use the naming convention for new workflows +2. **Documentation**: Update this README when adding new prefixes or patterns +3. **Permissions**: Use minimal required permissions for security +4. **Caching**: Leverage GitHub Actions cache for dependencies and build artifacts +5. **Concurrency**: Use concurrency groups to prevent duplicate runs +6. **Secrets**: Never hardcode secrets; use GitHub Secrets +7. **Fork Support**: Consider fork limitations when designing workflows +8. **Error Handling**: Include proper error handling and status checks +9. **Reusability**: Use workflow_call for shared logic across workflows + +## External Dependencies + +- **Cloudflare Pages**: Deployment platform for previews and test reports +- **Chromatic**: Visual regression testing for Storybook +- **OpenAI API**: Translation generation for i18n workflows +- **PyPI**: Python package distribution +- **npm Registry**: TypeScript types distribution +- **Claude API**: AI code review \ No newline at end of file diff --git a/.github/workflows/validate-json.yaml b/.github/workflows/ci-json-validation.yaml similarity index 90% rename from .github/workflows/validate-json.yaml rename to .github/workflows/ci-json-validation.yaml index 2986d23ed1..10475412f5 100644 --- a/.github/workflows/validate-json.yaml +++ b/.github/workflows/ci-json-validation.yaml @@ -1,4 +1,4 @@ -name: Validate JSON +name: JSON Validation CI on: push: diff --git a/.github/workflows/lint-and-format.yaml b/.github/workflows/ci-lint-format.yaml similarity index 99% rename from .github/workflows/lint-and-format.yaml rename to .github/workflows/ci-lint-format.yaml index 1f20ab92ed..76478adef7 100644 --- a/.github/workflows/lint-and-format.yaml +++ b/.github/workflows/ci-lint-format.yaml @@ -1,4 +1,4 @@ -name: Lint and Format +name: Lint Format CI on: pull_request: diff --git a/.github/workflows/devtools-python-check.yaml b/.github/workflows/ci-python-validation.yaml similarity index 94% rename from .github/workflows/devtools-python-check.yaml rename to .github/workflows/ci-python-validation.yaml index f0893e99d1..44ab4fcbb0 100644 --- a/.github/workflows/devtools-python-check.yaml +++ b/.github/workflows/ci-python-validation.yaml @@ -1,4 +1,4 @@ -name: Devtools Python Check +name: Python Validation CI on: pull_request: diff --git a/.github/workflows/pr-playwright-deploy-forks.yaml b/.github/workflows/ci-tests-e2e-forks.yaml similarity index 96% rename from .github/workflows/pr-playwright-deploy-forks.yaml rename to .github/workflows/ci-tests-e2e-forks.yaml index 660fee77fa..4b1bebc1c4 100644 --- a/.github/workflows/pr-playwright-deploy-forks.yaml +++ b/.github/workflows/ci-tests-e2e-forks.yaml @@ -1,8 +1,10 @@ -name: PR Playwright Deploy (Forks) +name: Tests E2E Forks CI + +# Deploys test results from forked PRs (forks can't access deployment secrets) on: workflow_run: - workflows: ["Tests CI"] + workflows: ["Tests E2E CI"] types: [requested, completed] env: diff --git a/.github/workflows/tests-ci.yaml b/.github/workflows/ci-tests-e2e.yaml similarity index 99% rename from .github/workflows/tests-ci.yaml rename to .github/workflows/ci-tests-e2e.yaml index 1e069ea11f..582c8374e9 100644 --- a/.github/workflows/tests-ci.yaml +++ b/.github/workflows/ci-tests-e2e.yaml @@ -1,4 +1,4 @@ -name: Tests CI +name: Tests E2E CI on: push: diff --git a/.github/workflows/pr-storybook-deploy-forks.yaml b/.github/workflows/ci-tests-storybook-forks.yaml similarity index 95% rename from .github/workflows/pr-storybook-deploy-forks.yaml rename to .github/workflows/ci-tests-storybook-forks.yaml index da27867c47..2d54547a16 100644 --- a/.github/workflows/pr-storybook-deploy-forks.yaml +++ b/.github/workflows/ci-tests-storybook-forks.yaml @@ -1,8 +1,10 @@ -name: PR Storybook Deploy (Forks) +name: Tests Storybook Forks CI + +# Deploys Storybook previews from forked PRs (forks can't access deployment secrets) on: workflow_run: - workflows: ['Storybook and Chromatic CI'] + workflows: ['Tests Storybook CI'] types: [requested, completed] env: diff --git a/.github/workflows/storybook-and-chromatic-ci.yaml b/.github/workflows/ci-tests-storybook.yaml similarity index 99% rename from .github/workflows/storybook-and-chromatic-ci.yaml rename to .github/workflows/ci-tests-storybook.yaml index bfac965306..c98ca48706 100644 --- a/.github/workflows/storybook-and-chromatic-ci.yaml +++ b/.github/workflows/ci-tests-storybook.yaml @@ -1,4 +1,4 @@ -name: Storybook and Chromatic CI +name: Tests Storybook CI # - [Automate Chromatic with GitHub Actions • Chromatic docs]( https://www.chromatic.com/docs/github-actions/ ) diff --git a/.github/workflows/vitest-tests.yaml b/.github/workflows/ci-tests-unit.yaml similarity index 98% rename from .github/workflows/vitest-tests.yaml rename to .github/workflows/ci-tests-unit.yaml index 46155d9121..7d66b884db 100644 --- a/.github/workflows/vitest-tests.yaml +++ b/.github/workflows/ci-tests-unit.yaml @@ -1,4 +1,4 @@ -name: Vitest Tests +name: Tests Unit CI on: push: diff --git a/.github/workflows/update-locales.yaml b/.github/workflows/i18n-update-core.yaml similarity index 99% rename from .github/workflows/update-locales.yaml rename to .github/workflows/i18n-update-core.yaml index 6ee0933121..91332feace 100644 --- a/.github/workflows/update-locales.yaml +++ b/.github/workflows/i18n-update-core.yaml @@ -1,4 +1,4 @@ -name: Update Locales +name: i18n Update Core on: # Manual dispatch for urgent translation updates diff --git a/.github/workflows/update-locales-for-given-custom-node-repository.yaml b/.github/workflows/i18n-update-custom-nodes.yaml similarity index 99% rename from .github/workflows/update-locales-for-given-custom-node-repository.yaml rename to .github/workflows/i18n-update-custom-nodes.yaml index ec085eab59..0178d524ee 100644 --- a/.github/workflows/update-locales-for-given-custom-node-repository.yaml +++ b/.github/workflows/i18n-update-custom-nodes.yaml @@ -1,4 +1,4 @@ -name: Update Locales for given custom node repository +name: i18n Update Custom Nodes on: workflow_dispatch: diff --git a/.github/workflows/update-node-definitions-locales.yaml b/.github/workflows/i18n-update-nodes.yaml similarity index 97% rename from .github/workflows/update-node-definitions-locales.yaml rename to .github/workflows/i18n-update-nodes.yaml index b063159ddf..aef7b95b63 100644 --- a/.github/workflows/update-node-definitions-locales.yaml +++ b/.github/workflows/i18n-update-nodes.yaml @@ -1,4 +1,4 @@ -name: Update Node Definitions Locales +name: i18n Update Nodes on: workflow_dispatch: diff --git a/.github/workflows/auto-backport.yaml b/.github/workflows/pr-backport.yaml similarity index 99% rename from .github/workflows/auto-backport.yaml rename to .github/workflows/pr-backport.yaml index 20eadc0c9e..13e6dd74e8 100644 --- a/.github/workflows/auto-backport.yaml +++ b/.github/workflows/pr-backport.yaml @@ -1,4 +1,4 @@ -name: Auto Backport +name: PR Backport on: pull_request_target: diff --git a/.github/workflows/claude-pr-review.yml b/.github/workflows/pr-claude-review.yaml similarity index 99% rename from .github/workflows/claude-pr-review.yml rename to .github/workflows/pr-claude-review.yaml index 08ad707274..75acd59e2c 100644 --- a/.github/workflows/claude-pr-review.yml +++ b/.github/workflows/pr-claude-review.yaml @@ -1,4 +1,4 @@ -name: Claude PR Review +name: PR Claude Review permissions: contents: read diff --git a/.github/workflows/update-playwright-expectations.yaml b/.github/workflows/pr-playwright-snapshots.yaml similarity index 98% rename from .github/workflows/update-playwright-expectations.yaml rename to .github/workflows/pr-playwright-snapshots.yaml index 82b99baa87..73f37201de 100644 --- a/.github/workflows/update-playwright-expectations.yaml +++ b/.github/workflows/pr-playwright-snapshots.yaml @@ -1,5 +1,5 @@ # Setting test expectation screenshots for Playwright -name: Update Playwright Expectations +name: PR Playwright Snapshots on: pull_request: diff --git a/.github/workflows/create-release-branch.yaml b/.github/workflows/release-branch-create.yaml similarity index 99% rename from .github/workflows/create-release-branch.yaml rename to .github/workflows/release-branch-create.yaml index 7891a845db..992e779ddb 100644 --- a/.github/workflows/create-release-branch.yaml +++ b/.github/workflows/release-branch-create.yaml @@ -1,4 +1,4 @@ -name: Create Release Branch +name: Release Branch Create on: pull_request: diff --git a/.github/workflows/create-release-draft.yaml b/.github/workflows/release-draft-create.yaml similarity index 98% rename from .github/workflows/create-release-draft.yaml rename to .github/workflows/release-draft-create.yaml index c359e3da49..240a89f1f2 100644 --- a/.github/workflows/create-release-draft.yaml +++ b/.github/workflows/release-draft-create.yaml @@ -1,4 +1,4 @@ -name: Create Release Draft +name: Release Draft Create on: pull_request: @@ -126,7 +126,7 @@ jobs: publish_types: needs: build - uses: ./.github/workflows/publish-frontend-types.yaml + uses: ./.github/workflows/release-npm-types.yaml with: version: ${{ needs.build.outputs.version }} ref: ${{ github.event.pull_request.merge_commit_sha }} diff --git a/.github/workflows/publish-frontend-types.yaml b/.github/workflows/release-npm-types.yaml similarity index 99% rename from .github/workflows/publish-frontend-types.yaml rename to .github/workflows/release-npm-types.yaml index 142a22a93c..23f0cc016b 100644 --- a/.github/workflows/publish-frontend-types.yaml +++ b/.github/workflows/release-npm-types.yaml @@ -1,4 +1,4 @@ -name: Publish Frontend Types +name: Release NPM Types on: workflow_dispatch: diff --git a/.github/workflows/create-dev-pypi-package.yaml b/.github/workflows/release-pypi-dev.yaml similarity index 98% rename from .github/workflows/create-dev-pypi-package.yaml rename to .github/workflows/release-pypi-dev.yaml index b592a8371e..88675e82e3 100644 --- a/.github/workflows/create-dev-pypi-package.yaml +++ b/.github/workflows/release-pypi-dev.yaml @@ -1,4 +1,4 @@ -name: Create Dev PyPI Package +name: Release PyPI Dev on: workflow_dispatch: diff --git a/.github/workflows/version-bump.yaml b/.github/workflows/release-version-bump.yaml similarity index 98% rename from .github/workflows/version-bump.yaml rename to .github/workflows/release-version-bump.yaml index 4073729db8..c9573c6cd1 100644 --- a/.github/workflows/version-bump.yaml +++ b/.github/workflows/release-version-bump.yaml @@ -1,4 +1,4 @@ -name: Version Bump +name: Release Version Bump on: workflow_dispatch: diff --git a/.github/workflows/update-electron-types.yaml b/.github/workflows/types-electron-api.yaml similarity index 98% rename from .github/workflows/update-electron-types.yaml rename to .github/workflows/types-electron-api.yaml index 45d959b86d..b8595d1cb0 100644 --- a/.github/workflows/update-electron-types.yaml +++ b/.github/workflows/types-electron-api.yaml @@ -1,4 +1,4 @@ -name: Update Electron Types +name: Types Electron API on: workflow_dispatch: diff --git a/.github/workflows/update-comfyui-manager-api-types.yaml b/.github/workflows/types-manager-api.yaml similarity index 99% rename from .github/workflows/update-comfyui-manager-api-types.yaml rename to .github/workflows/types-manager-api.yaml index 7e307dfda6..af2cb2f9b5 100644 --- a/.github/workflows/update-comfyui-manager-api-types.yaml +++ b/.github/workflows/types-manager-api.yaml @@ -1,4 +1,4 @@ -name: Update ComfyUI-Manager API Types +name: Types Manager API on: # Manual trigger diff --git a/.github/workflows/update-comfy-registry-api-types.yaml b/.github/workflows/types-registry-api.yaml similarity index 99% rename from .github/workflows/update-comfy-registry-api-types.yaml rename to .github/workflows/types-registry-api.yaml index 41a4db9ab9..5cfd2fd7a4 100644 --- a/.github/workflows/update-comfy-registry-api-types.yaml +++ b/.github/workflows/types-registry-api.yaml @@ -1,4 +1,4 @@ -name: Update Comfy Registry API Types +name: Types Registry API on: # Manual trigger From 676792c66162c3c042bf87707a1d6fc3f33ed16c Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 9 Oct 2025 07:42:04 +0900 Subject: [PATCH 02/14] Update .github/workflows/README.md Co-authored-by: Alexander Brown --- .github/workflows/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index dd072da28b..9b14b571aa 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -23,7 +23,9 @@ All workflow files follow a consistent naming pattern for improved organization |--------|----------|---------|---------| | `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | | `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | -| `pr-` | PR Automation | PR-specific workflows triggered by labels | `pr-claude-review.yaml` | +| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | +| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | +| `pr-` | PR Automation | PR-specific workflows triggered by labels or comments | `pr-claude-review.yaml` | | `types-` | Type Generation | TypeScript type generation and updates | `types-registry-api.yaml` | | `i18n-` | Internationalization | Locale and translation updates | `i18n-update-core.yaml` | From 70068003d21cfb2a9d9fd93318e96f995483cf20 Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 9 Oct 2025 00:43:20 +0000 Subject: [PATCH 03/14] rename workflow to 'CI - JSON Validation' to match filename convention --- .github/workflows/ci-json-validation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-json-validation.yaml b/.github/workflows/ci-json-validation.yaml index 10475412f5..0d83316e09 100644 --- a/.github/workflows/ci-json-validation.yaml +++ b/.github/workflows/ci-json-validation.yaml @@ -1,4 +1,4 @@ -name: JSON Validation CI +name: CI - JSON Validation on: push: From 2fcb840723c951d4db402f08821c3212ff7ff8c6 Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 9 Oct 2025 00:53:44 +0000 Subject: [PATCH 04/14] [docs] add link to GitHub workflow trigger documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add reference to GitHub's official documentation for workflow triggers in the Workflow Triggers section of the workflows README. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .github/workflows/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 9b14b571aa..54ab5bcbed 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -48,6 +48,8 @@ These workflows are triggered when specific labels are added to PRs: ## Workflow Triggers +For more details on workflow triggers, see [GitHub's workflow trigger documentation](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows). + ### Common Trigger Patterns | Trigger Type | Use Case | Example | From 67af73605dca90150d08ffc3a3aa9b6000bd08ad Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 2 Oct 2025 07:54:59 +0000 Subject: [PATCH 05/14] refactor: reorganize GitHub workflows with consistent naming convention MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Implement systematic naming convention using category prefixes - Group workflows logically: ci-, pr-, release-, types-, i18n- - Rename all 22 workflows for better organization and discoverability - Update workflow cross-references and display names - Add comprehensive README.md with naming guidelines and best practices Key changes: - CI workflows: ci-tests-e2e, ci-tests-unit, ci-tests-storybook, etc. - PR automation: pr-backport, pr-claude-review, pr-playwright-snapshots - Release management: release-version-bump, release-npm-types, etc. - Type generation: types-registry-api, types-manager-api, etc. - Internationalization: i18n-update-core, i18n-update-nodes, etc. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/README.md | 88 +++++++++++++++++++ ...date-json.yaml => ci-json-validation.yaml} | 2 +- ...nt-and-format.yaml => ci-lint-format.yaml} | 2 +- ...n-check.yaml => ci-python-validation.yaml} | 2 +- ...loy-forks.yaml => ci-tests-e2e-forks.yaml} | 6 +- .../{tests-ci.yaml => ci-tests-e2e.yaml} | 2 +- ...rks.yaml => ci-tests-storybook-forks.yaml} | 6 +- ...omatic-ci.yaml => ci-tests-storybook.yaml} | 2 +- .../{vitest-tests.yaml => ci-tests-unit.yaml} | 2 +- ...ate-locales.yaml => i18n-update-core.yaml} | 2 +- ...ory.yaml => i18n-update-custom-nodes.yaml} | 2 +- ...ns-locales.yaml => i18n-update-nodes.yaml} | 2 +- .../{auto-backport.yaml => pr-backport.yaml} | 2 +- ...de-pr-review.yml => pr-claude-review.yaml} | 2 +- ...ions.yaml => pr-playwright-snapshots.yaml} | 2 +- ...branch.yaml => release-branch-create.yaml} | 2 +- ...e-draft.yaml => release-draft-create.yaml} | 4 +- ...tend-types.yaml => release-npm-types.yaml} | 2 +- ...ypi-package.yaml => release-pypi-dev.yaml} | 2 +- ...on-bump.yaml => release-version-bump.yaml} | 2 +- ...ron-types.yaml => types-electron-api.yaml} | 2 +- ...-api-types.yaml => types-manager-api.yaml} | 2 +- ...api-types.yaml => types-registry-api.yaml} | 2 +- 23 files changed, 117 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/README.md rename .github/workflows/{validate-json.yaml => ci-json-validation.yaml} (90%) rename .github/workflows/{lint-and-format.yaml => ci-lint-format.yaml} (99%) rename .github/workflows/{devtools-python-check.yaml => ci-python-validation.yaml} (94%) rename .github/workflows/{pr-playwright-deploy-forks.yaml => ci-tests-e2e-forks.yaml} (96%) rename .github/workflows/{tests-ci.yaml => ci-tests-e2e.yaml} (99%) rename .github/workflows/{pr-storybook-deploy-forks.yaml => ci-tests-storybook-forks.yaml} (95%) rename .github/workflows/{storybook-and-chromatic-ci.yaml => ci-tests-storybook.yaml} (99%) rename .github/workflows/{vitest-tests.yaml => ci-tests-unit.yaml} (98%) rename .github/workflows/{update-locales.yaml => i18n-update-core.yaml} (98%) rename .github/workflows/{update-locales-for-given-custom-node-repository.yaml => i18n-update-custom-nodes.yaml} (98%) rename .github/workflows/{update-node-definitions-locales.yaml => i18n-update-nodes.yaml} (97%) rename .github/workflows/{auto-backport.yaml => pr-backport.yaml} (99%) rename .github/workflows/{claude-pr-review.yml => pr-claude-review.yaml} (99%) rename .github/workflows/{update-playwright-expectations.yaml => pr-playwright-snapshots.yaml} (99%) rename .github/workflows/{create-release-branch.yaml => release-branch-create.yaml} (99%) rename .github/workflows/{create-release-draft.yaml => release-draft-create.yaml} (98%) rename .github/workflows/{publish-frontend-types.yaml => release-npm-types.yaml} (99%) rename .github/workflows/{create-dev-pypi-package.yaml => release-pypi-dev.yaml} (98%) rename .github/workflows/{version-bump.yaml => release-version-bump.yaml} (98%) rename .github/workflows/{update-electron-types.yaml => types-electron-api.yaml} (98%) rename .github/workflows/{update-comfyui-manager-api-types.yaml => types-manager-api.yaml} (99%) rename .github/workflows/{update-comfy-registry-api-types.yaml => types-registry-api.yaml} (99%) diff --git a/.github/workflows/README.md b/.github/workflows/README.md new file mode 100644 index 0000000000..dd072da28b --- /dev/null +++ b/.github/workflows/README.md @@ -0,0 +1,88 @@ +# GitHub Workflows Documentation + +## Naming Convention + +All workflow files follow a consistent naming pattern for improved organization and discoverability. + +### File Naming Format + +``` +-.yaml +``` + +**Rules:** +1. Use `.yaml` extension consistently (not `.yml`) +2. Use lowercase letters only +3. Use hyphens (`-`) as word separators +4. Start with a category prefix (see below) +5. Follow prefix with a descriptive name that clearly indicates the workflow's purpose + +### Category Prefixes + +| Prefix | Category | Purpose | Example | +|--------|----------|---------|---------| +| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | +| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | +| `pr-` | PR Automation | PR-specific workflows triggered by labels | `pr-claude-review.yaml` | +| `types-` | Type Generation | TypeScript type generation and updates | `types-registry-api.yaml` | +| `i18n-` | Internationalization | Locale and translation updates | `i18n-update-core.yaml` | + +## Workflow Organization + +### Test Workflows (`ci-tests-*`) +- `ci-tests-e2e.yaml` - End-to-end testing with Playwright +- `ci-tests-unit.yaml` - Unit and component testing with Vitest +- `ci-tests-storybook.yaml` - Storybook build and visual regression testing +- `ci-tests-*-forks.yaml` - Fork-safe deployment workflows (deploy results without exposing secrets) + +### PR Label Workflows (`pr-*`) +These workflows are triggered when specific labels are added to PRs: + +| Workflow | Trigger Label | Purpose | +|----------|---------------|---------| +| `pr-backport.yaml` | `needs-backport` | Cherry-pick PRs to release branches | +| `pr-claude-review.yaml` | `claude-review` | AI-powered code review | +| `pr-playwright-snapshots.yaml` | `New Browser Test Expectations` | Update visual test snapshots | + +## Workflow Triggers + +### Common Trigger Patterns + +| Trigger Type | Use Case | Example | +|--------------|----------|---------| +| `push` to main/master | Production CI/CD | Deploy to production | +| `pull_request` | PR validation | Run tests, linting | +| `workflow_dispatch` | Manual execution | On-demand deployments | +| `repository_dispatch` | External triggers | API type updates | +| `workflow_run` | Chain workflows | Fork deployments | +| `schedule` | Periodic tasks | Nightly builds | +| Label added | Conditional actions | Review requests, snapshots | + +### Branch Protection Patterns + +- **Main branches**: `main`, `master` +- **Release branches**: `core/**`, `release/**` +- **Development branches**: `dev/**`, `develop/**` +- **Desktop branches**: `desktop/**` +- **WIP exclusion**: `!**wip/**`, `!wip/**` + +## Best Practices + +1. **Consistency**: Always use the naming convention for new workflows +2. **Documentation**: Update this README when adding new prefixes or patterns +3. **Permissions**: Use minimal required permissions for security +4. **Caching**: Leverage GitHub Actions cache for dependencies and build artifacts +5. **Concurrency**: Use concurrency groups to prevent duplicate runs +6. **Secrets**: Never hardcode secrets; use GitHub Secrets +7. **Fork Support**: Consider fork limitations when designing workflows +8. **Error Handling**: Include proper error handling and status checks +9. **Reusability**: Use workflow_call for shared logic across workflows + +## External Dependencies + +- **Cloudflare Pages**: Deployment platform for previews and test reports +- **Chromatic**: Visual regression testing for Storybook +- **OpenAI API**: Translation generation for i18n workflows +- **PyPI**: Python package distribution +- **npm Registry**: TypeScript types distribution +- **Claude API**: AI code review \ No newline at end of file diff --git a/.github/workflows/validate-json.yaml b/.github/workflows/ci-json-validation.yaml similarity index 90% rename from .github/workflows/validate-json.yaml rename to .github/workflows/ci-json-validation.yaml index 2986d23ed1..10475412f5 100644 --- a/.github/workflows/validate-json.yaml +++ b/.github/workflows/ci-json-validation.yaml @@ -1,4 +1,4 @@ -name: Validate JSON +name: JSON Validation CI on: push: diff --git a/.github/workflows/lint-and-format.yaml b/.github/workflows/ci-lint-format.yaml similarity index 99% rename from .github/workflows/lint-and-format.yaml rename to .github/workflows/ci-lint-format.yaml index 62956cadbf..e447c9da45 100644 --- a/.github/workflows/lint-and-format.yaml +++ b/.github/workflows/ci-lint-format.yaml @@ -1,4 +1,4 @@ -name: Lint and Format +name: Lint Format CI on: pull_request: diff --git a/.github/workflows/devtools-python-check.yaml b/.github/workflows/ci-python-validation.yaml similarity index 94% rename from .github/workflows/devtools-python-check.yaml rename to .github/workflows/ci-python-validation.yaml index f0893e99d1..44ab4fcbb0 100644 --- a/.github/workflows/devtools-python-check.yaml +++ b/.github/workflows/ci-python-validation.yaml @@ -1,4 +1,4 @@ -name: Devtools Python Check +name: Python Validation CI on: pull_request: diff --git a/.github/workflows/pr-playwright-deploy-forks.yaml b/.github/workflows/ci-tests-e2e-forks.yaml similarity index 96% rename from .github/workflows/pr-playwright-deploy-forks.yaml rename to .github/workflows/ci-tests-e2e-forks.yaml index 660fee77fa..4b1bebc1c4 100644 --- a/.github/workflows/pr-playwright-deploy-forks.yaml +++ b/.github/workflows/ci-tests-e2e-forks.yaml @@ -1,8 +1,10 @@ -name: PR Playwright Deploy (Forks) +name: Tests E2E Forks CI + +# Deploys test results from forked PRs (forks can't access deployment secrets) on: workflow_run: - workflows: ["Tests CI"] + workflows: ["Tests E2E CI"] types: [requested, completed] env: diff --git a/.github/workflows/tests-ci.yaml b/.github/workflows/ci-tests-e2e.yaml similarity index 99% rename from .github/workflows/tests-ci.yaml rename to .github/workflows/ci-tests-e2e.yaml index 0d33ecf193..a457538f84 100644 --- a/.github/workflows/tests-ci.yaml +++ b/.github/workflows/ci-tests-e2e.yaml @@ -1,4 +1,4 @@ -name: Tests CI +name: Tests E2E CI on: push: diff --git a/.github/workflows/pr-storybook-deploy-forks.yaml b/.github/workflows/ci-tests-storybook-forks.yaml similarity index 95% rename from .github/workflows/pr-storybook-deploy-forks.yaml rename to .github/workflows/ci-tests-storybook-forks.yaml index da27867c47..2d54547a16 100644 --- a/.github/workflows/pr-storybook-deploy-forks.yaml +++ b/.github/workflows/ci-tests-storybook-forks.yaml @@ -1,8 +1,10 @@ -name: PR Storybook Deploy (Forks) +name: Tests Storybook Forks CI + +# Deploys Storybook previews from forked PRs (forks can't access deployment secrets) on: workflow_run: - workflows: ['Storybook and Chromatic CI'] + workflows: ['Tests Storybook CI'] types: [requested, completed] env: diff --git a/.github/workflows/storybook-and-chromatic-ci.yaml b/.github/workflows/ci-tests-storybook.yaml similarity index 99% rename from .github/workflows/storybook-and-chromatic-ci.yaml rename to .github/workflows/ci-tests-storybook.yaml index bfac965306..c98ca48706 100644 --- a/.github/workflows/storybook-and-chromatic-ci.yaml +++ b/.github/workflows/ci-tests-storybook.yaml @@ -1,4 +1,4 @@ -name: Storybook and Chromatic CI +name: Tests Storybook CI # - [Automate Chromatic with GitHub Actions • Chromatic docs]( https://www.chromatic.com/docs/github-actions/ ) diff --git a/.github/workflows/vitest-tests.yaml b/.github/workflows/ci-tests-unit.yaml similarity index 98% rename from .github/workflows/vitest-tests.yaml rename to .github/workflows/ci-tests-unit.yaml index 3941451886..778ab15d37 100644 --- a/.github/workflows/vitest-tests.yaml +++ b/.github/workflows/ci-tests-unit.yaml @@ -1,4 +1,4 @@ -name: Vitest Tests +name: Tests Unit CI on: push: diff --git a/.github/workflows/update-locales.yaml b/.github/workflows/i18n-update-core.yaml similarity index 98% rename from .github/workflows/update-locales.yaml rename to .github/workflows/i18n-update-core.yaml index 9ffa702cae..fc8b0bd061 100644 --- a/.github/workflows/update-locales.yaml +++ b/.github/workflows/i18n-update-core.yaml @@ -1,4 +1,4 @@ -name: Update Locales +name: i18n Update Core on: # Manual dispatch for urgent translation updates diff --git a/.github/workflows/update-locales-for-given-custom-node-repository.yaml b/.github/workflows/i18n-update-custom-nodes.yaml similarity index 98% rename from .github/workflows/update-locales-for-given-custom-node-repository.yaml rename to .github/workflows/i18n-update-custom-nodes.yaml index b9d1b33b91..61076f0317 100644 --- a/.github/workflows/update-locales-for-given-custom-node-repository.yaml +++ b/.github/workflows/i18n-update-custom-nodes.yaml @@ -1,4 +1,4 @@ -name: Update Locales for given custom node repository +name: i18n Update Custom Nodes on: workflow_dispatch: diff --git a/.github/workflows/update-node-definitions-locales.yaml b/.github/workflows/i18n-update-nodes.yaml similarity index 97% rename from .github/workflows/update-node-definitions-locales.yaml rename to .github/workflows/i18n-update-nodes.yaml index ce991d09ea..0b9f1534d3 100644 --- a/.github/workflows/update-node-definitions-locales.yaml +++ b/.github/workflows/i18n-update-nodes.yaml @@ -1,4 +1,4 @@ -name: Update Node Definitions Locales +name: i18n Update Nodes on: workflow_dispatch: diff --git a/.github/workflows/auto-backport.yaml b/.github/workflows/pr-backport.yaml similarity index 99% rename from .github/workflows/auto-backport.yaml rename to .github/workflows/pr-backport.yaml index 20eadc0c9e..13e6dd74e8 100644 --- a/.github/workflows/auto-backport.yaml +++ b/.github/workflows/pr-backport.yaml @@ -1,4 +1,4 @@ -name: Auto Backport +name: PR Backport on: pull_request_target: diff --git a/.github/workflows/claude-pr-review.yml b/.github/workflows/pr-claude-review.yaml similarity index 99% rename from .github/workflows/claude-pr-review.yml rename to .github/workflows/pr-claude-review.yaml index 76a9eb0f3d..e6b30b0594 100644 --- a/.github/workflows/claude-pr-review.yml +++ b/.github/workflows/pr-claude-review.yaml @@ -1,4 +1,4 @@ -name: Claude PR Review +name: PR Claude Review permissions: contents: read diff --git a/.github/workflows/update-playwright-expectations.yaml b/.github/workflows/pr-playwright-snapshots.yaml similarity index 99% rename from .github/workflows/update-playwright-expectations.yaml rename to .github/workflows/pr-playwright-snapshots.yaml index 61d5051d44..b415542539 100644 --- a/.github/workflows/update-playwright-expectations.yaml +++ b/.github/workflows/pr-playwright-snapshots.yaml @@ -1,5 +1,5 @@ # Setting test expectation screenshots for Playwright -name: Update Playwright Expectations +name: PR Playwright Snapshots on: pull_request: diff --git a/.github/workflows/create-release-branch.yaml b/.github/workflows/release-branch-create.yaml similarity index 99% rename from .github/workflows/create-release-branch.yaml rename to .github/workflows/release-branch-create.yaml index 7891a845db..992e779ddb 100644 --- a/.github/workflows/create-release-branch.yaml +++ b/.github/workflows/release-branch-create.yaml @@ -1,4 +1,4 @@ -name: Create Release Branch +name: Release Branch Create on: pull_request: diff --git a/.github/workflows/create-release-draft.yaml b/.github/workflows/release-draft-create.yaml similarity index 98% rename from .github/workflows/create-release-draft.yaml rename to .github/workflows/release-draft-create.yaml index c359e3da49..240a89f1f2 100644 --- a/.github/workflows/create-release-draft.yaml +++ b/.github/workflows/release-draft-create.yaml @@ -1,4 +1,4 @@ -name: Create Release Draft +name: Release Draft Create on: pull_request: @@ -126,7 +126,7 @@ jobs: publish_types: needs: build - uses: ./.github/workflows/publish-frontend-types.yaml + uses: ./.github/workflows/release-npm-types.yaml with: version: ${{ needs.build.outputs.version }} ref: ${{ github.event.pull_request.merge_commit_sha }} diff --git a/.github/workflows/publish-frontend-types.yaml b/.github/workflows/release-npm-types.yaml similarity index 99% rename from .github/workflows/publish-frontend-types.yaml rename to .github/workflows/release-npm-types.yaml index 142a22a93c..23f0cc016b 100644 --- a/.github/workflows/publish-frontend-types.yaml +++ b/.github/workflows/release-npm-types.yaml @@ -1,4 +1,4 @@ -name: Publish Frontend Types +name: Release NPM Types on: workflow_dispatch: diff --git a/.github/workflows/create-dev-pypi-package.yaml b/.github/workflows/release-pypi-dev.yaml similarity index 98% rename from .github/workflows/create-dev-pypi-package.yaml rename to .github/workflows/release-pypi-dev.yaml index b592a8371e..88675e82e3 100644 --- a/.github/workflows/create-dev-pypi-package.yaml +++ b/.github/workflows/release-pypi-dev.yaml @@ -1,4 +1,4 @@ -name: Create Dev PyPI Package +name: Release PyPI Dev on: workflow_dispatch: diff --git a/.github/workflows/version-bump.yaml b/.github/workflows/release-version-bump.yaml similarity index 98% rename from .github/workflows/version-bump.yaml rename to .github/workflows/release-version-bump.yaml index 4073729db8..c9573c6cd1 100644 --- a/.github/workflows/version-bump.yaml +++ b/.github/workflows/release-version-bump.yaml @@ -1,4 +1,4 @@ -name: Version Bump +name: Release Version Bump on: workflow_dispatch: diff --git a/.github/workflows/update-electron-types.yaml b/.github/workflows/types-electron-api.yaml similarity index 98% rename from .github/workflows/update-electron-types.yaml rename to .github/workflows/types-electron-api.yaml index 45d959b86d..b8595d1cb0 100644 --- a/.github/workflows/update-electron-types.yaml +++ b/.github/workflows/types-electron-api.yaml @@ -1,4 +1,4 @@ -name: Update Electron Types +name: Types Electron API on: workflow_dispatch: diff --git a/.github/workflows/update-comfyui-manager-api-types.yaml b/.github/workflows/types-manager-api.yaml similarity index 99% rename from .github/workflows/update-comfyui-manager-api-types.yaml rename to .github/workflows/types-manager-api.yaml index 7e307dfda6..af2cb2f9b5 100644 --- a/.github/workflows/update-comfyui-manager-api-types.yaml +++ b/.github/workflows/types-manager-api.yaml @@ -1,4 +1,4 @@ -name: Update ComfyUI-Manager API Types +name: Types Manager API on: # Manual trigger diff --git a/.github/workflows/update-comfy-registry-api-types.yaml b/.github/workflows/types-registry-api.yaml similarity index 99% rename from .github/workflows/update-comfy-registry-api-types.yaml rename to .github/workflows/types-registry-api.yaml index 41a4db9ab9..5cfd2fd7a4 100644 --- a/.github/workflows/update-comfy-registry-api-types.yaml +++ b/.github/workflows/types-registry-api.yaml @@ -1,4 +1,4 @@ -name: Update Comfy Registry API Types +name: Types Registry API on: # Manual trigger From f28320fdaefb3a7a2d59f476a1929d0c2fbc2b55 Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 9 Oct 2025 07:42:04 +0900 Subject: [PATCH 06/14] Update .github/workflows/README.md Co-authored-by: Alexander Brown --- .github/workflows/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index dd072da28b..9b14b571aa 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -23,7 +23,9 @@ All workflow files follow a consistent naming pattern for improved organization |--------|----------|---------|---------| | `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | | `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | -| `pr-` | PR Automation | PR-specific workflows triggered by labels | `pr-claude-review.yaml` | +| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | +| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | +| `pr-` | PR Automation | PR-specific workflows triggered by labels or comments | `pr-claude-review.yaml` | | `types-` | Type Generation | TypeScript type generation and updates | `types-registry-api.yaml` | | `i18n-` | Internationalization | Locale and translation updates | `i18n-update-core.yaml` | From 3803b79fa9d18567bfa69d817544bc430f345d86 Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 9 Oct 2025 00:43:20 +0000 Subject: [PATCH 07/14] rename workflow to 'CI - JSON Validation' to match filename convention --- .github/workflows/ci-json-validation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-json-validation.yaml b/.github/workflows/ci-json-validation.yaml index 10475412f5..0d83316e09 100644 --- a/.github/workflows/ci-json-validation.yaml +++ b/.github/workflows/ci-json-validation.yaml @@ -1,4 +1,4 @@ -name: JSON Validation CI +name: CI - JSON Validation on: push: From b657129370fa48259c4d984b631976dd9942837e Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 9 Oct 2025 00:53:44 +0000 Subject: [PATCH 08/14] [docs] add link to GitHub workflow trigger documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add reference to GitHub's official documentation for workflow triggers in the Workflow Triggers section of the workflows README. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .github/workflows/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 9b14b571aa..54ab5bcbed 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -48,6 +48,8 @@ These workflows are triggered when specific labels are added to PRs: ## Workflow Triggers +For more details on workflow triggers, see [GitHub's workflow trigger documentation](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows). + ### Common Trigger Patterns | Trigger Type | Use Case | Example | From ea4686a52cc36b8ee0cf6a2fb28de16e8d23cc4e Mon Sep 17 00:00:00 2001 From: snomiao Date: Mon, 13 Oct 2025 23:50:51 +0000 Subject: [PATCH 09/14] [docs] add workflow comments and simplify README to prevent staleness MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add descriptive comments to key workflow files explaining purpose and triggers - Simplify workflows README.md to focus on naming convention only - Remove detailed workflow descriptions that can get out of date - Point users to individual workflow files for current documentation Addresses review feedback: documentation can get out of date quickly, put comments into workflows themselves with single example in README. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/README.md | 95 +++------------------ .github/workflows/ci-json-validation.yaml | 2 +- .github/workflows/ci-tests-e2e.yaml | 4 + .github/workflows/ci-tests-storybook.yaml | 4 +- .github/workflows/ci-tests-unit.yaml | 3 + .github/workflows/i18n-update-core.yaml | 3 + .github/workflows/pr-claude-review.yaml | 3 + .github/workflows/release-version-bump.yaml | 3 + 8 files changed, 32 insertions(+), 85 deletions(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 54ab5bcbed..f0fe1f3c2d 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -1,92 +1,21 @@ -# GitHub Workflows Documentation +# GitHub Workflows ## Naming Convention -All workflow files follow a consistent naming pattern for improved organization and discoverability. - -### File Naming Format - -``` --.yaml -``` - -**Rules:** -1. Use `.yaml` extension consistently (not `.yml`) -2. Use lowercase letters only -3. Use hyphens (`-`) as word separators -4. Start with a category prefix (see below) -5. Follow prefix with a descriptive name that clearly indicates the workflow's purpose +Workflow files follow a consistent naming pattern: `-.yaml` ### Category Prefixes -| Prefix | Category | Purpose | Example | -|--------|----------|---------|---------| -| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | -| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | -| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | -| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | -| `pr-` | PR Automation | PR-specific workflows triggered by labels or comments | `pr-claude-review.yaml` | -| `types-` | Type Generation | TypeScript type generation and updates | `types-registry-api.yaml` | -| `i18n-` | Internationalization | Locale and translation updates | `i18n-update-core.yaml` | - -## Workflow Organization - -### Test Workflows (`ci-tests-*`) -- `ci-tests-e2e.yaml` - End-to-end testing with Playwright -- `ci-tests-unit.yaml` - Unit and component testing with Vitest -- `ci-tests-storybook.yaml` - Storybook build and visual regression testing -- `ci-tests-*-forks.yaml` - Fork-safe deployment workflows (deploy results without exposing secrets) - -### PR Label Workflows (`pr-*`) -These workflows are triggered when specific labels are added to PRs: - -| Workflow | Trigger Label | Purpose | -|----------|---------------|---------| -| `pr-backport.yaml` | `needs-backport` | Cherry-pick PRs to release branches | -| `pr-claude-review.yaml` | `claude-review` | AI-powered code review | -| `pr-playwright-snapshots.yaml` | `New Browser Test Expectations` | Update visual test snapshots | - -## Workflow Triggers - -For more details on workflow triggers, see [GitHub's workflow trigger documentation](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows). - -### Common Trigger Patterns - -| Trigger Type | Use Case | Example | -|--------------|----------|---------| -| `push` to main/master | Production CI/CD | Deploy to production | -| `pull_request` | PR validation | Run tests, linting | -| `workflow_dispatch` | Manual execution | On-demand deployments | -| `repository_dispatch` | External triggers | API type updates | -| `workflow_run` | Chain workflows | Fork deployments | -| `schedule` | Periodic tasks | Nightly builds | -| Label added | Conditional actions | Review requests, snapshots | - -### Branch Protection Patterns - -- **Main branches**: `main`, `master` -- **Release branches**: `core/**`, `release/**` -- **Development branches**: `dev/**`, `develop/**` -- **Desktop branches**: `desktop/**` -- **WIP exclusion**: `!**wip/**`, `!wip/**` - -## Best Practices +| Prefix | Purpose | Example | +|--------|---------|---------| +| `ci-` | Testing, linting, validation | `ci-tests-e2e.yaml` | +| `release-` | Version management, publishing | `release-version-bump.yaml` | +| `pr-` | PR automation (triggered by labels) | `pr-claude-review.yaml` | +| `types-` | TypeScript type generation | `types-registry-api.yaml` | +| `i18n-` | Internationalization updates | `i18n-update-core.yaml` | -1. **Consistency**: Always use the naming convention for new workflows -2. **Documentation**: Update this README when adding new prefixes or patterns -3. **Permissions**: Use minimal required permissions for security -4. **Caching**: Leverage GitHub Actions cache for dependencies and build artifacts -5. **Concurrency**: Use concurrency groups to prevent duplicate runs -6. **Secrets**: Never hardcode secrets; use GitHub Secrets -7. **Fork Support**: Consider fork limitations when designing workflows -8. **Error Handling**: Include proper error handling and status checks -9. **Reusability**: Use workflow_call for shared logic across workflows +## Documentation -## External Dependencies +Each workflow file contains comments explaining its purpose, triggers, and behavior. For specific details about what each workflow does, refer to the comments at the top of each `.yaml` file. -- **Cloudflare Pages**: Deployment platform for previews and test reports -- **Chromatic**: Visual regression testing for Storybook -- **OpenAI API**: Translation generation for i18n workflows -- **PyPI**: Python package distribution -- **npm Registry**: TypeScript types distribution -- **Claude API**: AI code review \ No newline at end of file +For GitHub Actions documentation, see [Events that trigger workflows](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows). \ No newline at end of file diff --git a/.github/workflows/ci-json-validation.yaml b/.github/workflows/ci-json-validation.yaml index 0d83316e09..a1d3bf3690 100644 --- a/.github/workflows/ci-json-validation.yaml +++ b/.github/workflows/ci-json-validation.yaml @@ -1,4 +1,4 @@ -name: CI - JSON Validation +name: "CI: JSON Validation" on: push: diff --git a/.github/workflows/ci-tests-e2e.yaml b/.github/workflows/ci-tests-e2e.yaml index a457538f84..eb8f04ab3b 100644 --- a/.github/workflows/ci-tests-e2e.yaml +++ b/.github/workflows/ci-tests-e2e.yaml @@ -1,5 +1,9 @@ name: Tests E2E CI +# End-to-end testing with Playwright across multiple browsers and configurations +# Runs on main branches and PRs, skips WIP branches +# Generates test reports and deploys them to Cloudflare Pages for review + on: push: branches: [main, master, core/*, desktop/*] diff --git a/.github/workflows/ci-tests-storybook.yaml b/.github/workflows/ci-tests-storybook.yaml index c98ca48706..7960219f6c 100644 --- a/.github/workflows/ci-tests-storybook.yaml +++ b/.github/workflows/ci-tests-storybook.yaml @@ -1,6 +1,8 @@ name: Tests Storybook CI -# - [Automate Chromatic with GitHub Actions • Chromatic docs]( https://www.chromatic.com/docs/github-actions/ ) +# Builds Storybook and runs visual regression testing via Chromatic +# Deploys Storybook previews to Cloudflare Pages for PR review +# Reference: https://www.chromatic.com/docs/github-actions/ on: workflow_dispatch: # Allow manual triggering diff --git a/.github/workflows/ci-tests-unit.yaml b/.github/workflows/ci-tests-unit.yaml index 778ab15d37..775d14ef0a 100644 --- a/.github/workflows/ci-tests-unit.yaml +++ b/.github/workflows/ci-tests-unit.yaml @@ -1,5 +1,8 @@ name: Tests Unit CI +# Unit and component testing with Vitest +# Runs on main branches and PRs, skips WIP branches + on: push: branches: [main, master, dev*, core/*, desktop/*] diff --git a/.github/workflows/i18n-update-core.yaml b/.github/workflows/i18n-update-core.yaml index fc8b0bd061..da17374809 100644 --- a/.github/workflows/i18n-update-core.yaml +++ b/.github/workflows/i18n-update-core.yaml @@ -1,5 +1,8 @@ name: i18n Update Core +# Generates and updates translations for core ComfyUI components using OpenAI +# Runs manually or automatically on version-bump PRs to keep translations current + on: # Manual dispatch for urgent translation updates workflow_dispatch: diff --git a/.github/workflows/pr-claude-review.yaml b/.github/workflows/pr-claude-review.yaml index e6b30b0594..292fe676ce 100644 --- a/.github/workflows/pr-claude-review.yaml +++ b/.github/workflows/pr-claude-review.yaml @@ -1,5 +1,8 @@ name: PR Claude Review +# AI-powered code review triggered by adding the "claude-review" label to a PR +# Provides comprehensive analysis of code changes, architecture, and security + permissions: contents: read pull-requests: write diff --git a/.github/workflows/release-version-bump.yaml b/.github/workflows/release-version-bump.yaml index c9573c6cd1..d0b530691c 100644 --- a/.github/workflows/release-version-bump.yaml +++ b/.github/workflows/release-version-bump.yaml @@ -1,5 +1,8 @@ name: Release Version Bump +# Manual workflow to increment package version and create version commit +# Supports semantic versioning (patch, minor, major) and pre-release versions + on: workflow_dispatch: inputs: From d372cd1d02ffed113fc77a602d79eac15e8b4181 Mon Sep 17 00:00:00 2001 From: snomiao Date: Mon, 13 Oct 2025 23:58:06 +0000 Subject: [PATCH 10/14] [feat] align CI workflow names with filename standard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update all CI workflow names to follow "CI: " pattern for 1:1 correspondence with filenames as suggested by @benceruleanlu: - ci-json-validation.yaml → "CI: JSON Validation" - ci-lint-format.yaml → "CI: Lint Format" - ci-python-validation.yaml → "CI: Python Validation" - ci-tests-e2e.yaml → "CI: Tests E2E" - ci-tests-unit.yaml → "CI: Tests Unit" - ci-tests-storybook.yaml → "CI: Tests Storybook" - ci-tests-*-forks.yaml → "CI: Tests * Forks" Also added explanation of JSON validation scope (all .json files except tsconfig*.json) to address reviewer question. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/ci-json-validation.yaml | 3 +++ .github/workflows/ci-lint-format.yaml | 2 +- .github/workflows/ci-python-validation.yaml | 2 +- .github/workflows/ci-tests-e2e-forks.yaml | 2 +- .github/workflows/ci-tests-e2e.yaml | 2 +- .github/workflows/ci-tests-storybook-forks.yaml | 2 +- .github/workflows/ci-tests-storybook.yaml | 2 +- .github/workflows/ci-tests-unit.yaml | 2 +- 8 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-json-validation.yaml b/.github/workflows/ci-json-validation.yaml index a1d3bf3690..df86a9e6ad 100644 --- a/.github/workflows/ci-json-validation.yaml +++ b/.github/workflows/ci-json-validation.yaml @@ -1,5 +1,8 @@ name: "CI: JSON Validation" +# Validates JSON syntax in all tracked .json files (excluding tsconfig*.json) +# Uses jq to ensure valid JSON syntax across configuration and data files + on: push: branches: diff --git a/.github/workflows/ci-lint-format.yaml b/.github/workflows/ci-lint-format.yaml index e447c9da45..45e845eb56 100644 --- a/.github/workflows/ci-lint-format.yaml +++ b/.github/workflows/ci-lint-format.yaml @@ -1,4 +1,4 @@ -name: Lint Format CI +name: "CI: Lint Format" on: pull_request: diff --git a/.github/workflows/ci-python-validation.yaml b/.github/workflows/ci-python-validation.yaml index 44ab4fcbb0..28870261d3 100644 --- a/.github/workflows/ci-python-validation.yaml +++ b/.github/workflows/ci-python-validation.yaml @@ -1,4 +1,4 @@ -name: Python Validation CI +name: "CI: Python Validation" on: pull_request: diff --git a/.github/workflows/ci-tests-e2e-forks.yaml b/.github/workflows/ci-tests-e2e-forks.yaml index 4b1bebc1c4..690b2710d7 100644 --- a/.github/workflows/ci-tests-e2e-forks.yaml +++ b/.github/workflows/ci-tests-e2e-forks.yaml @@ -1,4 +1,4 @@ -name: Tests E2E Forks CI +name: "CI: Tests E2E Forks" # Deploys test results from forked PRs (forks can't access deployment secrets) diff --git a/.github/workflows/ci-tests-e2e.yaml b/.github/workflows/ci-tests-e2e.yaml index eb8f04ab3b..a6ed8e472b 100644 --- a/.github/workflows/ci-tests-e2e.yaml +++ b/.github/workflows/ci-tests-e2e.yaml @@ -1,4 +1,4 @@ -name: Tests E2E CI +name: "CI: Tests E2E" # End-to-end testing with Playwright across multiple browsers and configurations # Runs on main branches and PRs, skips WIP branches diff --git a/.github/workflows/ci-tests-storybook-forks.yaml b/.github/workflows/ci-tests-storybook-forks.yaml index 2d54547a16..b71683023d 100644 --- a/.github/workflows/ci-tests-storybook-forks.yaml +++ b/.github/workflows/ci-tests-storybook-forks.yaml @@ -1,4 +1,4 @@ -name: Tests Storybook Forks CI +name: "CI: Tests Storybook Forks" # Deploys Storybook previews from forked PRs (forks can't access deployment secrets) diff --git a/.github/workflows/ci-tests-storybook.yaml b/.github/workflows/ci-tests-storybook.yaml index 7960219f6c..3e2c6a46f8 100644 --- a/.github/workflows/ci-tests-storybook.yaml +++ b/.github/workflows/ci-tests-storybook.yaml @@ -1,4 +1,4 @@ -name: Tests Storybook CI +name: "CI: Tests Storybook" # Builds Storybook and runs visual regression testing via Chromatic # Deploys Storybook previews to Cloudflare Pages for PR review diff --git a/.github/workflows/ci-tests-unit.yaml b/.github/workflows/ci-tests-unit.yaml index 775d14ef0a..9ccb2f3c62 100644 --- a/.github/workflows/ci-tests-unit.yaml +++ b/.github/workflows/ci-tests-unit.yaml @@ -1,4 +1,4 @@ -name: Tests Unit CI +name: "CI: Tests Unit" # Unit and component testing with Vitest # Runs on main branches and PRs, skips WIP branches From b864e81e03b1d0d59b44a5700c87d302050cfbd0 Mon Sep 17 00:00:00 2001 From: snomiao Date: Tue, 14 Oct 2025 00:04:36 +0000 Subject: [PATCH 11/14] [docs] fix table formatting in workflows README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Improve table alignment and formatting for category prefixes - Fix missing newline at end of file 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index f0fe1f3c2d..88b201a220 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -6,16 +6,16 @@ Workflow files follow a consistent naming pattern: `-. ### Category Prefixes -| Prefix | Purpose | Example | -|--------|---------|---------| -| `ci-` | Testing, linting, validation | `ci-tests-e2e.yaml` | -| `release-` | Version management, publishing | `release-version-bump.yaml` | -| `pr-` | PR automation (triggered by labels) | `pr-claude-review.yaml` | -| `types-` | TypeScript type generation | `types-registry-api.yaml` | -| `i18n-` | Internationalization updates | `i18n-update-core.yaml` | +| Prefix | Purpose | Example | +| ---------- | ----------------------------------- | --------------------------- | +| `ci-` | Testing, linting, validation | `ci-tests-e2e.yaml` | +| `release-` | Version management, publishing | `release-version-bump.yaml` | +| `pr-` | PR automation (triggered by labels) | `pr-claude-review.yaml` | +| `types-` | TypeScript type generation | `types-registry-api.yaml` | +| `i18n-` | Internationalization updates | `i18n-update-core.yaml` | ## Documentation Each workflow file contains comments explaining its purpose, triggers, and behavior. For specific details about what each workflow does, refer to the comments at the top of each `.yaml` file. -For GitHub Actions documentation, see [Events that trigger workflows](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows). \ No newline at end of file +For GitHub Actions documentation, see [Events that trigger workflows](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows). From 5a7ec8148b4e0fe76adcd3ac6e4e202518d65379 Mon Sep 17 00:00:00 2001 From: snomiao Date: Tue, 14 Oct 2025 02:25:26 +0000 Subject: [PATCH 12/14] chore(none): update cicd names\n\nStandardize CI/CD workflow names and descriptions across all GitHub Actions workflows to reflect updated conventions. Includes updating the name and description fields across multiple YAML files. No breaking changes. --- .github/workflows/ci-json-validation.yaml | 4 +--- .github/workflows/ci-lint-format.yaml | 1 + .github/workflows/ci-python-validation.yaml | 1 + .github/workflows/ci-tests-e2e-forks.yaml | 7 +++---- .github/workflows/ci-tests-e2e.yaml | 5 +---- .github/workflows/ci-tests-storybook-forks.yaml | 7 +++---- .github/workflows/ci-tests-storybook.yaml | 5 +---- .github/workflows/ci-tests-unit.yaml | 4 +--- .github/workflows/i18n-update-core.yaml | 6 ++---- .github/workflows/pr-claude-review.yaml | 6 ++---- .github/workflows/release-version-bump.yaml | 6 ++---- 11 files changed, 18 insertions(+), 34 deletions(-) diff --git a/.github/workflows/ci-json-validation.yaml b/.github/workflows/ci-json-validation.yaml index df86a9e6ad..0d8c9392fa 100644 --- a/.github/workflows/ci-json-validation.yaml +++ b/.github/workflows/ci-json-validation.yaml @@ -1,7 +1,5 @@ name: "CI: JSON Validation" - -# Validates JSON syntax in all tracked .json files (excluding tsconfig*.json) -# Uses jq to ensure valid JSON syntax across configuration and data files +description: "Validates JSON syntax in all tracked .json files (excluding tsconfig*.json) using jq" on: push: diff --git a/.github/workflows/ci-lint-format.yaml b/.github/workflows/ci-lint-format.yaml index 45e845eb56..5c4e0011b0 100644 --- a/.github/workflows/ci-lint-format.yaml +++ b/.github/workflows/ci-lint-format.yaml @@ -1,4 +1,5 @@ name: "CI: Lint Format" +description: "Linting and code formatting validation for pull requests" on: pull_request: diff --git a/.github/workflows/ci-python-validation.yaml b/.github/workflows/ci-python-validation.yaml index 28870261d3..698f467bfe 100644 --- a/.github/workflows/ci-python-validation.yaml +++ b/.github/workflows/ci-python-validation.yaml @@ -1,4 +1,5 @@ name: "CI: Python Validation" +description: "Validates Python code in tools/devtools directory" on: pull_request: diff --git a/.github/workflows/ci-tests-e2e-forks.yaml b/.github/workflows/ci-tests-e2e-forks.yaml index 690b2710d7..5d3767f8ec 100644 --- a/.github/workflows/ci-tests-e2e-forks.yaml +++ b/.github/workflows/ci-tests-e2e-forks.yaml @@ -1,10 +1,9 @@ -name: "CI: Tests E2E Forks" - -# Deploys test results from forked PRs (forks can't access deployment secrets) +name: "CI: Tests E2E (Deploy for Forks)" +description: "Deploys test results from forked PRs (forks can't access deployment secrets)" on: workflow_run: - workflows: ["Tests E2E CI"] + workflows: ["CI: Tests E2E"] types: [requested, completed] env: diff --git a/.github/workflows/ci-tests-e2e.yaml b/.github/workflows/ci-tests-e2e.yaml index a6ed8e472b..690417a04f 100644 --- a/.github/workflows/ci-tests-e2e.yaml +++ b/.github/workflows/ci-tests-e2e.yaml @@ -1,8 +1,5 @@ name: "CI: Tests E2E" - -# End-to-end testing with Playwright across multiple browsers and configurations -# Runs on main branches and PRs, skips WIP branches -# Generates test reports and deploys them to Cloudflare Pages for review +description: "End-to-end testing with Playwright across multiple browsers, deploys test reports to Cloudflare Pages" on: push: diff --git a/.github/workflows/ci-tests-storybook-forks.yaml b/.github/workflows/ci-tests-storybook-forks.yaml index b71683023d..083a85f1d4 100644 --- a/.github/workflows/ci-tests-storybook-forks.yaml +++ b/.github/workflows/ci-tests-storybook-forks.yaml @@ -1,10 +1,9 @@ -name: "CI: Tests Storybook Forks" - -# Deploys Storybook previews from forked PRs (forks can't access deployment secrets) +name: "CI: Tests Storybook (Deploy for Forks)" +description: "Deploys Storybook previews from forked PRs (forks can't access deployment secrets)" on: workflow_run: - workflows: ['Tests Storybook CI'] + workflows: ["CI: Tests Storybook"] types: [requested, completed] env: diff --git a/.github/workflows/ci-tests-storybook.yaml b/.github/workflows/ci-tests-storybook.yaml index 3e2c6a46f8..65e97ed913 100644 --- a/.github/workflows/ci-tests-storybook.yaml +++ b/.github/workflows/ci-tests-storybook.yaml @@ -1,8 +1,5 @@ name: "CI: Tests Storybook" - -# Builds Storybook and runs visual regression testing via Chromatic -# Deploys Storybook previews to Cloudflare Pages for PR review -# Reference: https://www.chromatic.com/docs/github-actions/ +description: "Builds Storybook and runs visual regression testing via Chromatic, deploys previews to Cloudflare Pages" on: workflow_dispatch: # Allow manual triggering diff --git a/.github/workflows/ci-tests-unit.yaml b/.github/workflows/ci-tests-unit.yaml index 9ccb2f3c62..152f788855 100644 --- a/.github/workflows/ci-tests-unit.yaml +++ b/.github/workflows/ci-tests-unit.yaml @@ -1,7 +1,5 @@ name: "CI: Tests Unit" - -# Unit and component testing with Vitest -# Runs on main branches and PRs, skips WIP branches +description: "Unit and component testing with Vitest" on: push: diff --git a/.github/workflows/i18n-update-core.yaml b/.github/workflows/i18n-update-core.yaml index da17374809..5cd79e5e32 100644 --- a/.github/workflows/i18n-update-core.yaml +++ b/.github/workflows/i18n-update-core.yaml @@ -1,7 +1,5 @@ -name: i18n Update Core - -# Generates and updates translations for core ComfyUI components using OpenAI -# Runs manually or automatically on version-bump PRs to keep translations current +name: "i18n: Update Core" +description: "Generates and updates translations for core ComfyUI components using OpenAI" on: # Manual dispatch for urgent translation updates diff --git a/.github/workflows/pr-claude-review.yaml b/.github/workflows/pr-claude-review.yaml index 292fe676ce..b09fde14f0 100644 --- a/.github/workflows/pr-claude-review.yaml +++ b/.github/workflows/pr-claude-review.yaml @@ -1,7 +1,5 @@ -name: PR Claude Review - -# AI-powered code review triggered by adding the "claude-review" label to a PR -# Provides comprehensive analysis of code changes, architecture, and security +name: "PR: Claude Review" +description: "AI-powered code review triggered by adding the 'claude-review' label to a PR" permissions: contents: read diff --git a/.github/workflows/release-version-bump.yaml b/.github/workflows/release-version-bump.yaml index d0b530691c..337bf69755 100644 --- a/.github/workflows/release-version-bump.yaml +++ b/.github/workflows/release-version-bump.yaml @@ -1,7 +1,5 @@ -name: Release Version Bump - -# Manual workflow to increment package version and create version commit -# Supports semantic versioning (patch, minor, major) and pre-release versions +name: "Release: Version Bump" +description: "Manual workflow to increment package version with semantic versioning support" on: workflow_dispatch: From 878ba215a7e72b1352b594ab979e6361bfeda970 Mon Sep 17 00:00:00 2001 From: snomiao Date: Wed, 15 Oct 2025 18:54:20 +0000 Subject: [PATCH 13/14] [feat] rename workflow to 'PR: Update Playwright Expectations' Addresses review feedback to make the workflow name more descriptive. The workflow updates Playwright test expectations/snapshots when triggered by: - Adding the 'New Browser Test Expectations' label - Commenting '/update-playwright' on a PR --- ...ht-snapshots.yaml => pr-update-playwright-expectations.yaml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{pr-playwright-snapshots.yaml => pr-update-playwright-expectations.yaml} (98%) diff --git a/.github/workflows/pr-playwright-snapshots.yaml b/.github/workflows/pr-update-playwright-expectations.yaml similarity index 98% rename from .github/workflows/pr-playwright-snapshots.yaml rename to .github/workflows/pr-update-playwright-expectations.yaml index b415542539..f688c3250a 100644 --- a/.github/workflows/pr-playwright-snapshots.yaml +++ b/.github/workflows/pr-update-playwright-expectations.yaml @@ -1,5 +1,5 @@ # Setting test expectation screenshots for Playwright -name: PR Playwright Snapshots +name: "PR: Update Playwright Expectations" on: pull_request: From 0afdfcd34ce533710bff1e332c43d6006c4c03e7 Mon Sep 17 00:00:00 2001 From: snomiao Date: Thu, 16 Oct 2025 00:31:22 +0000 Subject: [PATCH 14/14] [refactor] rename API type update workflows with descriptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename types-registry-api.yaml → api-update-registry-api-types.yaml - Rename types-electron-api.yaml → api-update-electron-api-types.yaml - Rename types-manager-api.yaml → api-update-manager-api-types.yaml - Update workflow names to 'Api: Update *** Types' format - Add description fields explaining upstream API sync workflow dispatch 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- ...es-electron-api.yaml => api-update-electron-api-types.yaml} | 3 ++- ...ypes-manager-api.yaml => api-update-manager-api-types.yaml} | 3 ++- ...es-registry-api.yaml => api-update-registry-api-types.yaml} | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) rename .github/workflows/{types-electron-api.yaml => api-update-electron-api-types.yaml} (91%) rename .github/workflows/{types-manager-api.yaml => api-update-manager-api-types.yaml} (96%) rename .github/workflows/{types-registry-api.yaml => api-update-registry-api-types.yaml} (96%) diff --git a/.github/workflows/types-electron-api.yaml b/.github/workflows/api-update-electron-api-types.yaml similarity index 91% rename from .github/workflows/types-electron-api.yaml rename to .github/workflows/api-update-electron-api-types.yaml index b8595d1cb0..90a08e02cd 100644 --- a/.github/workflows/types-electron-api.yaml +++ b/.github/workflows/api-update-electron-api-types.yaml @@ -1,4 +1,5 @@ -name: Types Electron API +name: 'Api: Update Electron API Types' +description: 'When upstream electron API is updated, click dispatch to update the TypeScript type definitions in this repo' on: workflow_dispatch: diff --git a/.github/workflows/types-manager-api.yaml b/.github/workflows/api-update-manager-api-types.yaml similarity index 96% rename from .github/workflows/types-manager-api.yaml rename to .github/workflows/api-update-manager-api-types.yaml index af2cb2f9b5..5a1e8ec749 100644 --- a/.github/workflows/types-manager-api.yaml +++ b/.github/workflows/api-update-manager-api-types.yaml @@ -1,4 +1,5 @@ -name: Types Manager API +name: 'Api: Update Manager API Types' +description: 'When upstream ComfyUI-Manager API is updated, click dispatch to update the TypeScript type definitions in this repo' on: # Manual trigger diff --git a/.github/workflows/types-registry-api.yaml b/.github/workflows/api-update-registry-api-types.yaml similarity index 96% rename from .github/workflows/types-registry-api.yaml rename to .github/workflows/api-update-registry-api-types.yaml index 5cfd2fd7a4..69b4ad5b2f 100644 --- a/.github/workflows/types-registry-api.yaml +++ b/.github/workflows/api-update-registry-api-types.yaml @@ -1,4 +1,5 @@ -name: Types Registry API +name: 'Api: Update Registry API Types' +description: 'When upstream comfy-api is updated, click dispatch to update the TypeScript type definitions in this repo' on: # Manual trigger