ci: Add new translation workflow for releases#29495
Conversation
b670a30 to
5e7e3bf
Compare
5e7e3bf to
69adc98
Compare
48a5137 to
729e6c2
Compare
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
These changes are purely CI/CD infrastructure for localization workflows. They:
No E2E tests need to run for these changes, and there is no performance impact whatsoever. Performance Test Selection: |
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v3 |
There was a problem hiding this comment.
It looks like the versions are all over the place on mobile, but probably new ones should be @v6
There was a problem hiding this comment.
Yeah.... I noticed this, I was going to address in a follow-up PR. I was trying to keep this as similar as possible to the pre-existing crowdin workflows
1b01ea5 to
3352802
Compare
Two new CI workflows have been added for uploading localized messages from releaase branches, and downloading translations onto releaase branches. Today we only use `main` as the source for localized messages, and all translations go through `main` first, then get cherry-picked onto the current RC. This process risks the translations getting out-of-sync with the sources on the current release (since they're derived from the localized message sources on `main`), which could cause severe localization errors. This process is also time-consuming for the delivery team. These updated workflows bypass that problem completely. Translations will always be in-sync on release branches, and we will have no conflicts.
89d94f3 to
ced3104
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ced3104. Configure here.
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v3 |
There was a problem hiding this comment.
Outdated actions/checkout@v3 in new workflow files
Low Severity
Both new workflow files use actions/checkout@v3, which runs on the deprecated node16 runtime. The team standard for new workflow files is actions/checkout@v6 or later, as v4 and older run on runtimes being deprecated by GitHub. This was also flagged in the PR discussion.
Additional Locations (1)
Triggered by learned rule: Use GitHub Actions v6+ instead of v4 — node20 runtime is deprecated
Reviewed by Cursor Bugbot for commit ced3104. Configure here.
There was a problem hiding this comment.
Intentional, to be updated in a later PR
|





Description
Two new CI workflows have been added for uploading localized messages from releaase branches, and downloading translations onto releaase branches.
Today we only use
mainas the source for localized messages, and all translations go throughmainfirst, then get cherry-picked onto the current RC. This process risks the translations getting out-of-sync with the sources on the current release (since they're derived from the localized message sources onmain), which could cause severe localization errors. This process is also time-consuming for the delivery team.These updated workflows bypass that problem completely. Translations will always be in-sync on release branches, and we will have no conflicts.
In the future this will run on a schedule, but it's just configured for manual workflow dispatch for now, so that we can test it further.
Changelog
CHANGELOG entry: N/A
Related issues
This is adapted from an older experiment: #8565
Manual testing steps
This can't easily be tested (we'd have to setup a fork of the repo, and a new crowdin project, and new secrets, etc.). Instead it's configured to be run manually on targeted branches, so that we can test this after merge with minimal disruption.
Screenshots/Recordings
N/A
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
Medium Risk
Introduces new GitHub Actions that can create/commit translation PRs across release branches using a PAT, so misconfiguration could affect release branch contents and CI triggering (though currently
dryrun_action: truelimits impact).Overview
Adds two manually-triggered Crowdin GitHub Actions workflows for release candidates.
crowdin-rc-upload-sources.ymluploads localization source strings from the current branch to the matching Crowdin branch.crowdin-rc-download-translations.ymldownloads approved translations and opens per-branch localization PRs; when run onmainit first discovers openrelease/x.y.zPR branches targetingstableand runs across them via a matrix, otherwise it runs only for the current branch. Both workflows useMETAMASKBOT_CROWDIN_TOKENand are currently configured indryrun_actionmode.Reviewed by Cursor Bugbot for commit ced3104. Bugbot is set up for automated code reviews on this repo. Configure here.