When we were executing the crowdin_upload workflow, we were not building the mail template to dispatch it to the backend. It resulted in the mail not being totally translated. This commit fixes that issue by adding the build mail step to the crowdin_upload. To do so, we added it to the dependencies workflow. "dependencies" workflow is callable by other workflows that need a specific job.
77 lines
2.4 KiB
YAML
77 lines
2.4 KiB
YAML
name: Update crowdin sources
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
install-dependencies:
|
|
uses: ./.github/workflows/dependencies.yml
|
|
with:
|
|
node_version: '20.x'
|
|
with-front-dependencies-installation: true
|
|
with-build_mails: true
|
|
|
|
synchronize-with-crowdin:
|
|
needs: install-dependencies
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
# Backend i18n
|
|
- name: Install Python
|
|
uses: actions/setup-python@v3
|
|
with:
|
|
python-version: "3.12.6"
|
|
- name: Upgrade pip and setuptools
|
|
run: pip install --upgrade pip setuptools
|
|
- name: Install development dependencies
|
|
run: pip install --user .
|
|
working-directory: src/backend
|
|
- name: Restore the mail templates
|
|
uses: actions/cache@v4
|
|
id: mail-templates
|
|
with:
|
|
path: "src/backend/core/templates/mail"
|
|
key: mail-templates-${{ hashFiles('src/mail/mjml') }}
|
|
fail-on-cache-miss: true
|
|
- name: Install gettext
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y gettext pandoc
|
|
- name: generate pot files
|
|
working-directory: src/backend
|
|
run: |
|
|
DJANGO_CONFIGURATION=Build python manage.py makemessages -a --keep-pot
|
|
# frontend i18n
|
|
- name: Restore the frontend cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: "src/frontend/**/node_modules"
|
|
key: front-node_modules-${{ hashFiles('src/frontend/**/yarn.lock') }}
|
|
fail-on-cache-miss: true
|
|
- name: generate source translation file
|
|
working-directory: src/frontend
|
|
run: yarn i18n:extract
|
|
# crowdin workflow
|
|
- name: crowdin action
|
|
uses: crowdin/github-action@v2
|
|
with:
|
|
config: crowdin/config.yml
|
|
upload_sources: true
|
|
upload_translations: false
|
|
download_translations: false
|
|
create_pull_request: false
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_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 }}
|
|
|
|
CROWDIN_BASE_PATH: "../src/"
|