Sync Check with Upstream #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }})" |