67 lines
2.1 KiB
YAML
67 lines
2.1 KiB
YAML
---
|
|
name: Crowdin Sync
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs: {}
|
|
schedule:
|
|
- cron: '0 0 * * 5'
|
|
|
|
jobs:
|
|
crowdin-sync:
|
|
name: Autosync
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- app_name: browser
|
|
crowdin_project_id: "268134"
|
|
- app_name: desktop
|
|
crowdin_project_id: "299360"
|
|
- app_name: web
|
|
crowdin_project_id: "308189"
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
|
|
|
|
- name: Login to Azure
|
|
uses: Azure/login@77f1b2e3fb80c0e8645114159d17008b8a2e475a
|
|
with:
|
|
creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }}
|
|
|
|
- name: Retrieve secrets
|
|
id: retrieve-secrets
|
|
env:
|
|
KEYVAULT: bitwarden-prod-kv
|
|
SECRETS: |
|
|
crowdin-api-token
|
|
run: |
|
|
for i in ${SECRETS//,/ }
|
|
do
|
|
VALUE=$(az keyvault secret show --vault-name $KEYVAULT --name $i --query value --output tsv)
|
|
echo "::add-mask::$VALUE"
|
|
echo "::set-output name=$i::$VALUE"
|
|
done
|
|
|
|
- name: Download translations
|
|
uses: bitwarden/gh-actions/crowdin@05052c5c575ceb09ceea397fe241879e199ed44b
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }}
|
|
CROWDIN_PROJECT_ID: ${{ matrix.crowdin_project_id }}
|
|
with:
|
|
config: crowdin.yml
|
|
crowdin_branch_name: master
|
|
upload_sources: false
|
|
upload_translations: false
|
|
download_translations: true
|
|
github_user_name: "github-actions"
|
|
github_user_email: "<>"
|
|
commit_message: "Autosync the updated translations"
|
|
localization_branch_name: crowdin-auto-sync-${{ matrix.app_name }}
|
|
create_pull_request: true
|
|
pull_request_title: "Autosync Crowdin Translations for ${{ matrix.app_name }}"
|
|
pull_request_body: "Autosync the updated translations"
|
|
working_directory: apps/${{ matrix.app_name }}
|