Move i18n workflow from single-PRs to release PRs (#5225)

* [feat] Move i18n workflow to release-only pattern

- Modify i18n.yaml to only run on version-bump-* branches and manual dispatch
- Follow chromatic.yaml pattern for release-only workflows
- Update CONTRIBUTING.md to document new translation process
- Reduces PR conflicts and improves development velocity

Fixes #5224

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* [feat] Optimize i18n workflow trigger conditions

Move logic from job-level 'if' to more restrictive trigger configuration:
- Limit pull_request trigger to main/master branches only
- Add explicit types to reduce unnecessary workflow runs
- Simplify job-level condition while maintaining same behavior
- Only run on version-bump-* branches or manual dispatch

* Apply suggestion from @DrJKL

Co-authored-by: Alexander Brown <drjkl@comfy.org>

* [feat] Optimize i18n workflow trigger conditions

- Simplify trigger section with cleaner organization
- Move workflow_dispatch to top for better readability
- Remove unnecessary path-ignore filters
- Add clearer comments for branch detection logic
- Maintain same functional behavior while improving structure

Addresses request to move branch detection logic from job-level 'if'
to trigger-level 'on' where possible within GitHub Actions limitations.

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Alexander Brown <drjkl@comfy.org>
This commit is contained in:
snomiao
2025-08-27 21:24:23 +08:00
committed by GitHub
parent e8f0ec5bb3
commit 810f027b5d
2 changed files with 25 additions and 14 deletions

View File

@@ -84,8 +84,9 @@ pnpm locale
#### Option B: Let CI Handle It (Recommended)
- Create your PR with the configuration changes above
- Our GitHub CI will automatically generate translation files
- Empty JSON files are fine - they'll be populated by the workflow
- **Important**: Translation files will be generated during release PRs, not feature PRs
- Empty JSON files are fine - they'll be populated during the next release workflow
- For urgent translation needs, maintainers can manually trigger the workflow
### Step 3: Test Your Changes
@@ -110,11 +111,23 @@ pnpm dev # Start development server
## What Happens in CI
Our automated translation workflow:
Our automated translation workflow now runs on release PRs (version-bump-* branches) to improve development performance:
### For Feature PRs (Regular Development)
- **No automatic translations** - faster reviews and fewer conflicts
- **English-only development** - new strings show in English until release
- **Focus on functionality** - reviewers see only your actual changes
### For Release PRs (version-bump-* branches)
1. **Collects strings**: Scans the UI for translatable text
2. **Updates English files**: Ensures all strings are captured
2. **Updates English files**: Ensures all strings are captured
3. **Generates translations**: Uses OpenAI API to translate to all configured languages
4. **Commits back**: Automatically updates your PR with complete translations
4. **Commits back**: Automatically updates the release PR with complete translations
### Manual Translation Updates
If urgent translation updates are needed outside of releases, maintainers can:
- Trigger the "Update Locales" workflow manually from GitHub Actions
- The workflow supports manual dispatch for emergency translation updates
## File Structure