Skip to content

Sync Check with Upstream #2

Sync Check with Upstream

Sync Check with Upstream #2

Workflow file for this run

name: Sync Check with Upstream
on:
schedule:
- cron: '0 3 * * 1' # jeden Montag um 3 Uhr nachts
workflow_dispatch: # manuell auslösbar über GitHub-Weboberfläche
jobs:
check-sync:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: ['3.14', '3.15']
steps:
- name: Translation-Repo auschecken
uses: actions/checkout@v4
with:
ref: ${{ matrix.version }}
- name: Passenden CPython-Branch auschecken
uses: actions/checkout@v4
with:
repository: python/cpython
ref: ${{ matrix.version }}
path: cpython-src
- name: Python + Sphinx einrichten
run: |
python3 -m venv cpython-src/Doc/venv
cpython-src/Doc/venv/bin/pip install sphinx blurb
- name: Frische POT-Dateien bauen
run: |
cd cpython-src/Doc
PATH="./venv/bin:$PATH" make gettext
- name: gettext installieren (für msgmerge)
run: sudo apt-get update && sudo apt-get install -y gettext
- name: msgmerge gegen alle .po-Dateien laufen lassen
run: |
for pot in $(find cpython-src/Doc/build/gettext -name "*.pot"); do
rel="${pot#cpython-src/Doc/build/gettext/}"
po="${rel%.pot}.po"
if [ -f "$po" ]; then
msgmerge --quiet --update "$po" "$pot"
fi
done
- name: msgmerge gegen alle .po-Dateien laufen lassen
run: |
for pot in $(find cpython-src/Doc/build/gettext -name "*.pot"); do
rel="${pot#cpython-src/Doc/build/gettext/}"
po="${rel%.pot}.po"
if [ -f "$po" ]; then
msgmerge --quiet --update "$po" "$pot"
fi
done
- name: Prüfen, ob sich etwas geändert hat
id: check
run: |
if git diff --quiet; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: PR mit den Aktualisierungen erstellen
if: steps.check.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v6
with:
branch: sync-upstream-${{ matrix.version }}
base: ${{ matrix.version }}
title: "Sync mit Upstream-Änderungen (${{ matrix.version }})"
body: |
Automatisch erkannte Änderungen im englischen Original-Quelltext.
Neue `fuzzy`-Markierungen und fehlende Strings bitte manuell prüfen.
commit-message: "Sync mit Upstream-Änderungen (${{ matrix.version }})"