Python 3.13 is now stable, our libraries are compatible with it. We also upgrade the alpine version used in order to fix CVE related to libxml2
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.13.3"
|
|
- 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/"
|