feat: add pull translation workflow

This commit is contained in:
David Nguyen
2024-07-23 12:05:35 +10:00
parent e8c325c683
commit 5b488c2ae4

55
.github/workflows/translations-pull.yml vendored Normal file
View File

@ -0,0 +1,55 @@
# Pull down translations from Crowdin every two hours or when triggered manually.
name: 'Pull translations'
on:
workflow_dispatch:
workflow_call:
# Cron disabled until i18n PR is landed.
# schedule:
# - cron: '0 */2 * * *' # Every two hours.
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
pull_translations:
name: Pull translations
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: ./.github/actions/node-install
- name: Compile translations
id: compile_translations
run: npm run translate:compile -- -- --strict
continue-on-error: true
- name: Pull translations from Crowdin
if: steps.compile_translations.outcome == 'failure'
uses: crowdin/github-action@v2
with:
upload_sources: false
upload_translations: false
download_translations: true
export_only_approved: false
localization_branch_name: chore/translations
commit_message: 'chore: add translations'
pull_request_title: 'chore: add translations'
env:
# A classic GitHub Personal Access Token with the 'repo' scope selected (the user should have write access to the repository).
GITHUB_TOKEN: ${{ secrets.GITHUB_CROWDIN_TOKEN }}
# A numeric ID, found at https://crowdin.com/project/<projectName>/tools/api
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
# Visit https://crowdin.com/settings#api-key to create this token
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}