Skip to content
David Allison edited this page Oct 17, 2025 · 5 revisions

Workflows

🌐 Sync Translations

  • Wait at least 30 minutes before triggering a re-sync, due to Crowdin limits.

Localization Administration

Updating the main strings from Git to Crowdin is a pretty delicate thing. Uploading an empty string.xml for instance would delete all translations. And uploading changed strings delete as well all translations. This is the desired behavior in most cases, but when just some English typos are corrected this shouldn't destroy all translations.

In this case, it's necessary to:

  1. rebuild a download package at first (option "r" in script [currently broken])
  2. download all translations (update-translations.py)
  3. upload the changed strings
  4. reupload the translations (option "t" and language "all").

CI

Ensure there are no failures in the unit test workflow (scheduled daily).

Dependabot

Monitor dependabot PRs that come in against the dependency-updates branch.

The flow for dependency updates is a circle

  • dependabot makes PRs to the dependency-updates branch
  • if they pass CI and look good, a maintainer will merge them to the dependency branch
  • periodically a maintainer will make a PR to the main development branch from the dependency-updates branch (now with a few dependency updates, most likely)
  • if the PR to the main development branch passes, typically it will be squash-merged to main development branch
  • the maintainer will take a local clone of the dependency-updates branch, rebase it to the main development branch
  • the locally up-to-date dependency updates branch will be force-pushed back to the github dependency-updates branch
  • the cycle repeats: dependabot makes PRs to the dependency-updates branch, etc

If dependabot needs configuration changes (to ignore a dependency or a version), the configuration should be done in the .github/dependabot.yaml file, not via any UI interaction. The difference is that the YAML config is reviewable text while the UI modifies some opaque database and thus is not manageable or reviewable.

Clone this wiki locally