mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-01-11 20:00:26 +01:00
74 lines
2.1 KiB
YAML
74 lines
2.1 KiB
YAML
name: Django Translation Update
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
# Add manual trigger
|
|
workflow_dispatch:
|
|
inputs:
|
|
reason:
|
|
description: 'Reason for running'
|
|
required: false
|
|
default: 'Manual update of translation files'
|
|
|
|
# Ensure only one translation job runs at a time
|
|
concurrency:
|
|
group: django-translations
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
update-translations:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
# Skip on PRs from forks (which don't have write permissions)
|
|
# Allow manual runs and pushes to main
|
|
if: github.event_name == 'workflow_dispatch' || github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository)
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
token: ${{ secrets.PAT }}
|
|
ref: ${{ github.head_ref }}
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v5
|
|
with:
|
|
enable-cache: true
|
|
|
|
- name: Set up Python 3.11
|
|
run: uv python install 3.11
|
|
|
|
- name: Install dependencies
|
|
run: uv sync --frozen --no-dev
|
|
|
|
- name: Install gettext
|
|
run: sudo apt-get install -y gettext
|
|
|
|
- name: Run makemessages
|
|
run: |
|
|
cd app
|
|
uv run python manage.py makemessages -a
|
|
|
|
- name: Check for changes
|
|
id: check_changes
|
|
run: |
|
|
if git diff --exit-code --quiet app/locale/; then
|
|
echo "No translation changes detected"
|
|
else
|
|
echo "changes_detected=true" >> $GITHUB_OUTPUT
|
|
echo "Translation changes detected"
|
|
fi
|
|
|
|
- name: Commit translation files
|
|
if: steps.check_changes.outputs.changes_detected == 'true'
|
|
uses: stefanzweifel/git-auto-commit-action@v5
|
|
with:
|
|
push_options: --force
|
|
commit_message: |
|
|
chore(locale): update translation files
|
|
|
|
[skip ci] Automatically generated by Django makemessages workflow
|
|
file_pattern: "app/locale/**/*.po"
|