78 lines
2.4 KiB
YAML
78 lines
2.4 KiB
YAML
name: Crowdin Sync
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "17 */6 * * *"
|
|
push:
|
|
branches:
|
|
- main
|
|
- r-dev
|
|
paths:
|
|
- "crowdin.yml"
|
|
- "locales/zh-CN/*.json"
|
|
- "prompts/zh-CN/**/*.prompt"
|
|
- "dashboard/src/i18n/locales/zh.json"
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
sync-current-branch:
|
|
if: github.event_name != 'schedule'
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Sync translations with Crowdin
|
|
uses: crowdin/github-action@v2
|
|
with:
|
|
config: crowdin.yml
|
|
upload_sources: true
|
|
upload_translations: false
|
|
download_translations: true
|
|
localization_branch_name: l10n_${{ github.ref_name }}
|
|
create_pull_request: true
|
|
pull_request_title: "chore(i18n): sync Crowdin translations"
|
|
pull_request_body: "Automated translation sync from Crowdin."
|
|
pull_request_base_branch_name: ${{ github.ref_name }}
|
|
commit_message: "chore(i18n): sync Crowdin translations"
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
|
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
|
|
|
sync-scheduled-branches:
|
|
if: github.event_name == 'schedule'
|
|
runs-on: ubuntu-24.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
base_branch:
|
|
- main
|
|
- r-dev
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ matrix.base_branch }}
|
|
- name: Sync scheduled translations with Crowdin
|
|
uses: crowdin/github-action@v2
|
|
with:
|
|
config: crowdin.yml
|
|
skip_ref_checkout: true
|
|
upload_sources: true
|
|
upload_translations: false
|
|
download_translations: true
|
|
localization_branch_name: l10n_${{ matrix.base_branch }}
|
|
create_pull_request: true
|
|
pull_request_title: "chore(i18n): sync Crowdin translations"
|
|
pull_request_body: "Automated translation sync from Crowdin."
|
|
pull_request_base_branch_name: ${{ matrix.base_branch }}
|
|
commit_message: "chore(i18n): sync Crowdin translations"
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
|
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|