mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-10-03 10:13:47 +10:00
Fix authentication recovery, account imports, application tracking, resume editing and exports, sharing, API contracts, provider selection, and private local attachments. Preserve authored content during PDF pagination. Update guides, generated OpenAPI output, and translation catalogs to match verified behavior and documented constraints. Validation: 1,019 tests passed; 12 database/OAuth integration tests skipped. Ten affected package typechecks, production build, Biome, and package boundaries passed.
47 lines
1.6 KiB
YAML
47 lines
1.6 KiB
YAML
name: Sync Translations from Crowdin
|
|
|
|
on:
|
|
push:
|
|
branches: ["main"]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
crowdin-sync:
|
|
runs-on: ${{ vars.USE_BLACKSMITH == 'true' && 'blacksmith-2vcpu-ubuntu-2404' || 'ubuntu-latest' }}
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
steps:
|
|
- name: Checkout Repository
|
|
if: ${{ vars.USE_BLACKSMITH != 'true' }}
|
|
uses: actions/checkout@v6
|
|
|
|
# The Crowdin action runs in a container that cannot reach the git mirror mount, so copy its objects.
|
|
- name: Checkout Repository (Blacksmith)
|
|
if: ${{ vars.USE_BLACKSMITH == 'true' }}
|
|
uses: useblacksmith/checkout@v1
|
|
with:
|
|
dissociate: true
|
|
|
|
- name: Sync Translations from Crowdin
|
|
uses: crowdin/github-action@v2
|
|
with:
|
|
download_translations: true
|
|
export_only_approved: true
|
|
skip_untranslated_strings: true
|
|
localization_branch_name: "l10n"
|
|
commit_message: "[skip ci] chore(i18n): sync translations from crowdin"
|
|
pull_request_title: "Sync Translations from Crowdin"
|
|
pull_request_body: "This is an automated pull request to sync translations from [Crowdin](https://crowdin.com/project/reactive-resume)."
|
|
pull_request_labels: "l10n"
|
|
pull_request_reviewers: "amruthpillai"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
|
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|