[virt-manager PATCH 1/2] ci: commit the catalog only if changed

Pino Toscano ptoscano at redhat.com
Tue Jul 14 13:08:29 UTC 2020


Compare the newly generated catalog with the old one: if it actually
changed (i.e. there are changes beside the creation date), then push it
to the 'translations' branch.

Signed-off-by: Pino Toscano <ptoscano at redhat.com>
---
 .github/workflows/ci.yml | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b0c7c266..14146370 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -20,7 +20,7 @@ jobs:
     steps:
     - name: Install deps
       run: |
-        dnf install -y python3-setuptools gettext git
+        dnf install -y python3-setuptools gettext git diffutils
 
     - uses: actions/checkout at v2
       with:
@@ -36,9 +36,21 @@ jobs:
         git fetch --all
         git rebase remotes/origin/translations
 
+        cp po/virt-manager.pot old.pot
         ./setup.py extract_messages
-        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
+        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
-- 
2.26.2




More information about the virt-tools-list mailing list