From 6a6f6c4d67688e06f65ddcc17ced48000db902c7 Mon Sep 17 00:00:00 2001 From: HB9HIL Date: Fri, 21 Jun 2024 15:41:55 +0200 Subject: [PATCH] workflows are armed now --- .github/workflows/compile-mo.yml | 38 +++++++++++++++++++------------ .github/workflows/translation.yml | 26 ++++----------------- 2 files changed, 29 insertions(+), 35 deletions(-) diff --git a/.github/workflows/compile-mo.yml b/.github/workflows/compile-mo.yml index 8448b995d..ce60ff9a7 100644 --- a/.github/workflows/compile-mo.yml +++ b/.github/workflows/compile-mo.yml @@ -1,12 +1,11 @@ name: Compile .mo files from changed .po files on: - # push: - # paths: - # - '**/*.po' - # branches: - # - 'dev' - workflow_dispatch: + push: + paths: + - '**/*.po' + branches: + - 'dev' jobs: compile_mo: @@ -17,7 +16,7 @@ jobs: uses: actions/checkout@v4 with: repository: wavelog/wavelog - ref: alpha + ref: dev fetch-depth: 2 - name: Set up gettext @@ -25,17 +24,28 @@ jobs: - name: Compile .mo files from changed .po files run: | - for po in $(git diff --name-only HEAD~1 HEAD | grep '\.po$'); do - mo="${po%.po}.mo"; - msgfmt --verbose -o "$mo" "$po"; - done + set -e + changed_po_files=$(git diff --name-only HEAD~1 HEAD | grep '\.po$' || true) + if [ -n "$changed_po_files" ]; then + for po in $changed_po_files; do + mo="${po%.po}.mo" + msgfmt -vv -o "$mo" "$po" + echo "Compiled $po to $mo" + done + else + echo "No .po files changed" + fi - name: Commit changes run: | git config --global user.name "github-actions" git config --global user.email "github-actions@github.com" - git add . - git commit -m "Compiled .mo file" - git push + if [ -n "$(git status --porcelain)" ]; then + git add $(git ls-files --modified | grep '\.mo$') + git commit -m "Compiled .mo files" + git push + else + echo "No changes to commit" + fi env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/translation.yml b/.github/workflows/translation.yml index 3d79bae39..41235ee85 100644 --- a/.github/workflows/translation.yml +++ b/.github/workflows/translation.yml @@ -1,4 +1,4 @@ -name: Translation Workflow +name: Run the PO generator script on: workflow_dispatch: @@ -12,36 +12,20 @@ jobs: uses: actions/checkout@v4 with: repository: wavelog/wavelog - ref: alpha + ref: dev - name: Set up gettext run: sudo apt-get install -y gettext - - name: Create POT file - run: xgettext --no-wrap -o assets/lang_src/messages.pot --copyright-holder=Wavelog --from-code=UTF-8 --keyword=__ --keyword=_ngettext:1,2 --keyword=_pgettext:1c,2 -L PHP $(find . -name "*.php") - - - name: Merge POT into PO files - run: | - for po in $(find . -name "*.po"); do - msgmerge --no-wrap -UN --verbose "$po" assets/lang_src/messages.pot; - done - - - name: Delete backup .po~ files - run: find . -name "*.po~" -delete - - - name: Compile MO files from PO files - run: | - for po in $(find . -name "*.po"); do - mo="${po%.po}.mo"; - msgfmt --verbose -o "$mo" "$po"; - done + - name: Run the PO generator script + run: bash po_gen.sh - name: Commit changes run: | git config --global user.name "github-actions" git config --global user.email "github-actions@github.com" git add . - git commit -m "Update translations" + git commit -m "Run po_gen.sh script to update translations (manually triggered)" git push env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}