mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-01-30 12:59:55 +00:00
- 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 <noreply@anthropic.com>
GitHub Workflows Documentation
Naming Convention
All workflow files follow a consistent naming pattern for improved organization and discoverability.
File Naming Format
<prefix>-<descriptive-name>.yaml
Rules:
- Use
.yamlextension consistently (not.yml) - Use lowercase letters only
- Use hyphens (
-) as word separators - Start with a category prefix (see below)
- 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 Playwrightci-tests-unit.yaml- Unit and component testing with Vitestci-tests-storybook.yaml- Storybook build and visual regression testingci-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
- Consistency: Always use the naming convention for new workflows
- Documentation: Update this README when adding new prefixes or patterns
- Permissions: Use minimal required permissions for security
- Caching: Leverage GitHub Actions cache for dependencies and build artifacts
- Concurrency: Use concurrency groups to prevent duplicate runs
- Secrets: Never hardcode secrets; use GitHub Secrets
- Fork Support: Consider fork limitations when designing workflows
- Error Handling: Include proper error handling and status checks
- 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