From 6171a464325884a4de8f202efb19faf54955bc73 Mon Sep 17 00:00:00 2001 From: tec-bot Date: Wed, 13 Nov 2024 00:14:42 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84=20created=20local=20'.github/workf?= =?UTF-8?q?lows/sync-translations.yml'=20from=20remote=20'templates/workfl?= =?UTF-8?q?ows/sync-translations.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/sync-translations.yml | 96 +++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 .github/workflows/sync-translations.yml diff --git a/.github/workflows/sync-translations.yml b/.github/workflows/sync-translations.yml new file mode 100644 index 0000000000..962964bb3f --- /dev/null +++ b/.github/workflows/sync-translations.yml @@ -0,0 +1,96 @@ +name: 🔁 Sync Translations + +on: + workflow_dispatch: # Allows you to run this workflow manually from the Actions tab + workflow_call: + secrets: + TRANSLATIONS_DEPLOY_HOST: + required: true + TRANSLATIONS_DEPLOY_USER: + required: true + TRANSLATIONS_DEPLOY_SSH_KEY: + required: true + TRANSLATIONS_DEPLOY_POT_LOCATION: + required: true + +jobs: + sync-translations: + name: 🔁 Sync Translations + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.sha }} + + - name: Set Variables + id: vars + run: | + branch_name="${{ github.head_ref || github.ref_name }}" + should_glotpress=0 + if [[ "$branch_name" =~ ^release/.* || "$branch_name" == "master" || "$branch_name" == "main" ]]; then + should_glotpress=1 + fi + echo "should_glotpress=$should_glotpress" >> $GITHUB_OUTPUT + echo "sha_short=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_OUTPUT + + - name: Fetch Plugin Slug from .puprc + id: puprc + run: | + plugin_slug=$(jq -r '.i18n[0].slug' .puprc) + echo "plugin_slug=$plugin_slug" >> $GITHUB_ENV + echo "plugin_slug=$plugin_slug" >> $GITHUB_OUTPUT + echo "## Plugin Slug: \`$plugin_slug\`" >> $GITHUB_STEP_SUMMARY + + - uses: the-events-calendar/actions/.github/actions/generate-pot@main + id: generate-pot + with: + plugin_path: ${{ github.workspace }} + pot_path: ${{github.workspace}}/lang/${{ steps.puprc.outputs.plugin_slug }}.pot + + - uses: the-events-calendar/actions/.github/actions/push-translations@main + id: push-translations + if: steps.vars.outputs.should_glotpress == '1' + with: + plugin_slug: ${{ steps.puprc.outputs.plugin_slug }} + pot_path: lang/${{ steps.puprc.outputs.plugin_slug }}.pot + env: + TRANSLATIONS_DEPLOY_HOST: ${{ secrets.TRANSLATIONS_DEPLOY_HOST }} + TRANSLATIONS_DEPLOY_USER: ${{ secrets.TRANSLATIONS_DEPLOY_USER }} + TRANSLATIONS_DEPLOY_SSH_KEY: ${{ secrets.TRANSLATIONS_DEPLOY_SSH_KEY }} + TRANSLATIONS_DEPLOY_POT_LOCATION: ${{ secrets.TRANSLATIONS_DEPLOY_POT_LOCATION }} + + - uses: the-events-calendar/actions/.github/actions/add-changelog@main + id: add-changelog-entry + if: steps.vars.outputs.should_glotpress == '1' + with: + file: "task-i18n-${{ steps.vars.outputs.sha_short }}" + significance: patch + type: language + entry: "${{ steps.push-translations.outputs.glotpress-result }}" + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v7 + id: create-pull-request + with: + token: ${{ secrets.GHA_BOT_TOKEN_MANAGER }} + base: ${{ github.head_ref || github.ref_name }} + branch: "task/i18n-update-${{ github.head_ref || github.ref_name }}-with-${{ steps.vars.outputs.sha_short }}" + title: "Generate Pot for ${{ github.head_ref || github.ref_name }}" + assignees: ${{ github.actor }} + reviewers: the-events-calendar/engineers + body: | + This is an automated PR created by ${{ github.actor }}. + It was generated by [this GitHub Action](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}). + labels: "automation" + commit-message: | + :symbols: Updating .pot file and add language changelog for ${{ github.sha }} + + This is an automated PR created by ${{ github.actor }}. + Generated by: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} + + - name: Check outputs + if: ${{ steps.create-pull-request.outputs.pull-request-number }} + run: | + echo "## Pull Request" >> $GITHUB_STEP_SUMMARY + echo "* Number - ${{ steps.create-pull-request.outputs.pull-request-number }}" >> $GITHUB_STEP_SUMMARY + echo "* URL - [${{ steps.create-pull-request.outputs.pull-request-url }}](${{ steps.create-pull-request.outputs.pull-request-url }})" >> $GITHUB_STEP_SUMMARY