59 lines
1.7 KiB
YAML
59 lines
1.7 KiB
YAML
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@v2
|
|
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 "actions@github.com"
|
|
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
|