Skip to content

LT-22652: Automatically update strings in Crowdin - #1046

Open
papeh wants to merge 7 commits into
mainfrom
feature/auto-update-crowdin
Open

LT-22652: Automatically update strings in Crowdin#1046
papeh wants to merge 7 commits into
mainfrom
feature/auto-update-crowdin

Conversation

@papeh

@papeh papeh commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Update Crowdin source strings as soon as they are updated in FLEx. Doing so requires Crowdin access, and developers frequently forget.

FUTURE WORK: automate list export

CI-ready checklist

  • Commit messages follow .github/commit-guidelines.md (subject ≤ 72 chars, no trailing punctuation; if body present, blank line then ≤ 80-char lines).
  • Builds/tests pass locally (or I've run the CI-style build via Bash script or MSBuild).

This change is Reviewable

@codecov-commenter

codecov-commenter commented Aug 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 38.04%. Comparing base (aec7a69) to head (7c61068).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1046      +/-   ##
==========================================
- Coverage   38.05%   38.04%   -0.01%     
==========================================
  Files        1499     1499              
  Lines      350117   350117              
  Branches    40233    40233              
==========================================
- Hits       133225   133218       -7     
- Misses     187607   187614       +7     
  Partials    29285    29285              

see 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@papeh
papeh marked this pull request as ready for review August 6, 2026 19:04

@jasonleenaylor jasonleenaylor left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jasonleenaylor reviewed 1 file and all commit messages, and made 1 comment.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on papeh).


.github/workflows/patch-installer-cd.yml line 119 at r1 (raw file):

          ref: ${{ github.event.inputs.lcm_ref || 'master' }}
          fetch-depth: 0
          path: 'Localizations/LCM'

In the workflow we decided to clone LCM into the Localizations folder (since that is the only reason we needed it) devin caught that the uploadUpdatesForTranslation task deletes that folder. Doing this before the build will make the localization build fail, it could be done at the end though.

@papeh

papeh commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

I thought Devin was being silly. Silly me. Unfortunately, deleting the actual LCM repo at the beginning of CopyLcmResxFiles will also prevent these strings from being uploaded. The uploadUpdatesForTranslation and Localize targets expect a different directory structure in LCM, so we'll have to rename one. Renaming the destination of CopyLcmResxFiles would break our structure in Crowdin, so we have to move the repository. We could call it liblcm or lcmrepo.

We want to upload sources before the build so that, if any strings have breaking changes, the build still succeeds the first time.

@papeh
papeh marked this pull request as draft August 13, 2026 16:38
papeh added 4 commits August 13, 2026 11:39
Update Crowdin source strings as soon as they are updated in FLEx.
Doing so requires Crowdin access, and developers frequently forget.

FUTURE WORK: automate list export
and build Release (not that it matters, but it looks consistent)
In case strings diverge and we don't remember to remove the branch
from crowdin.json when creating a branch for a patch on stable.
This will prevent stable strings overwriting latest strings.
to distinguish the entire repo from localizable files copied from it
@papeh

papeh commented Aug 13, 2026

Copy link
Copy Markdown
Contributor Author

Devin suggests continue-on-error: true; do we want to? We don't want to slow patches, but we would like to be alerted to errors, especially if they're persistent.

I think a l10n upload error should automatically fail the build: we want to know when the upload fails; moreover, most upload failures would result in the entire build failing anyway (CrowdIn outage, bad API key)

@papeh
papeh force-pushed the feature/auto-update-crowdin branch from 661c726 to 1f6d977 Compare August 13, 2026 20:39
@papeh
papeh force-pushed the feature/auto-update-crowdin branch from f6c3f26 to 5eb6a9c Compare August 13, 2026 20:55
@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown

NUnit Tests

    1 files   -     1      1 suites   - 1   10m 58s ⏱️ - 3m 33s
5 761 tests ±    0  5 680 ✅ +   38  81 💤 ± 0  0 ❌  - 38 
5 770 runs   - 5 770  5 689 ✅  - 5 615  81 💤  - 81  0 ❌  - 74 

Results for commit 7c61068. ± Comparison against base commit 7f93348.

♻️ This comment has been updated with latest results.

@papeh
papeh marked this pull request as ready for review August 13, 2026 21:23
@papeh
papeh enabled auto-merge (squash) August 13, 2026 22:01
@papeh
papeh disabled auto-merge August 13, 2026 22:01
@papeh
papeh enabled auto-merge (squash) August 13, 2026 22:03
@papeh
papeh requested a review from jasonleenaylor August 13, 2026 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants