virt-manager/.github/workflows/translations.yml
dependabot[bot] c56c17bef4 ci: bump actions/checkout from 2 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 18:47:15 +02:00

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@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 "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