What changed, and why it matters
This commit adds a new GitHub Actions workflow that lets maintainers manually upload English translation source files to the Crowdin translation service. It is a routine CI/infrastructure change with no apparent security relevance.
No security action required. Review is routine CI hygiene.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit introduces .github/workflows/crowdin-push.yml, a manually triggered (workflow_dispatch) GitHub Actions workflow that runs only on the main branch. It checks out the repository, splits translations/en.json into per-layout files using a Python script, and uploads the sources to Crowdin using the official crowdin/github-action@v2. The workflow has contents: read permission and uses repository secrets for Crowdin authentication.
Changed components
.github/workflows/crowdin-push.ymlInspect captured patch +41 / −0
diff --git a/.github/workflows/crowdin-push.yml b/.github/workflows/crowdin-push.yml
new file mode 100644
index 000000000..5897bbd70
--- /dev/null
+++ b/.github/workflows/crowdin-push.yml
@@ -0,0 +1,41 @@
+name: Crowdin - push sources (manual)
+
+on:
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+concurrency:
+ group: crowdin-push
+ cancel-in-progress: false
+
+jobs:
+ push:
+ name: Split and upload sources
+ if: github.ref == 'refs/heads/main'
+ runs-on: ubuntu-latest
+ environment: crowdin
+ steps:
+ - name: Checkout main
+ uses: actions/checkout@v4
+ with:
+ ref: main
+
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.11'
+
+ - name: Split en.json into per-layout files
+ working-directory: translations
+ run: python crowdin.py split
+
+ - name: Upload sources to Crowdin
+ uses: crowdin/github-action@v2
+ with:
+ upload_sources: true
+ config: translations/crowdin.yml
+ env:
+ CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
+ CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.