Translations #29
This file contains 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: Translations | |
on: | |
schedule: | |
# Implicitly runs on default branch | |
# every two days at 6:00 UTC | |
- cron: '0 6 */2 * *' | |
jobs: | |
# This job will run ./setup.py extract_messages on top of git main | |
# and force push that to the 'translations' branch. That branch will | |
# always have an up to date .pot file for use in weblate | |
update-translation-pot: | |
# Only run this if on the main 'virt-manager/virt-manager' repo, not forks | |
if: "contains(github.repository, 'virt-manager/virt-manager')" | |
runs-on: ubuntu-latest | |
container: | |
image: fedora:latest | |
steps: | |
- name: Install deps | |
run: | | |
dnf install -y python3-setuptools gettext git diffutils | |
- uses: actions/checkout@v4 | |
with: | |
# This fetches full git history. We need that for proper | |
# branch updating | |
fetch-depth: 0 | |
- name: Extract messages and push to translations branch | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "Github Actions" | |
git fetch --all | |
git rebase remotes/origin/translations | |
cp po/virt-manager.pot old.pot | |
./setup.py extract_messages | |
ec=0 | |
diff -q -I 'POT-Creation-Date' old.pot po/virt-manager.pot || ec=$? | |
case "${ec}" in | |
0) ;; | |
1) | |
git commit po/virt-manager.pot \ | |
--message "Refresh translation .pot template" | |
remote_repo="https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git" | |
git push "${remote_repo}" HEAD:translations | |
;; | |
*) | |
echo "diff failed with exit status ${ec}" >&2 | |
exit 1 | |
;; | |
esac |