Skip to content

Pull Translations from Transifex #116

Pull Translations from Transifex

Pull Translations from Transifex #116

name: Pull Translations from Transifex
on:
push:
branches:
- master
- "3.15"
paths:
- ".github/workflows/transifex-pull.yml"
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
permissions:
contents: write
actions: write
jobs:
update-translation:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: ["3.15"]
steps:
- uses: styfle/cancel-workflow-action@0.13.1
with:
access_token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-python@v6
with:
python-version: 3
- name: Install Dependencies
run: |
sudo apt-get install -y gettext
pip install requests cogapp polib transifex-python sphinx-intl blurb six
curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash
working-directory: /usr/local/bin
- uses: actions/checkout@v6
with:
ref: ${{ matrix.version }}
fetch-depth: 0
- run: curl -O https://raw.githubusercontent.com/python-docs-translations/transifex-automations/master/sample-workflows/transifex-util.py
- run: chmod +x transifex-util.py
- run: ./transifex-util.py recreate_tx_config --language vi --project-slug python-newest --version ${{ matrix.version }}
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
- run: ./transifex-util.py fetch --language vi --project-slug python-newest --version ${{ matrix.version }}
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
- run: ./transifex-util.py delete_obsolete_files --language vi --project-slug python-newest --version ${{ matrix.version }}
- name: Set up Git
run: |
git config --local user.email github-actions@github.com
git config --local user.name "GitHub Action's update-translation job"
- run: git add . ':!transifex-util.py'
- name: Filter files
run: |
! git diff --cached \
-I'^"POT-Creation-Date: ' \
-I'^"Language-Team: ' \
-I'^# ' -I'^"Last-Translator: ' \
--exit-code \
&& echo "SIGNIFICANT_CHANGES=1" >> "$GITHUB_ENV" || exit 0
- run: git commit -m 'Update translation from Transifex'
if: env.SIGNIFICANT_CHANGES
- uses: ad-m/github-push-action@v1.1.0
if: env.SIGNIFICANT_CHANGES
with:
branch: ${{ matrix.version }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Trigger downstream workflows
if: env.SIGNIFICANT_CHANGES
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh workflow run deploy-pages.yml --ref ${{ matrix.version }}
gh workflow run test-build.yml --ref ${{ matrix.version }}
gh workflow run po-lint.yml --ref ${{ matrix.version }}