chore(gha): fix i18n download workflow #21
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: I18n Dictionary Download | |
on: | |
repository_dispatch: | |
types: | |
- simplelocalize_publication | |
push: | |
branches: | |
- fix-download-workflow | |
jobs: | |
download-and-apply: | |
name: Dictionary Download | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Download dictionary files from SimpleLocalize | |
uses: simplelocalize/github-action-cli@v2 | |
with: | |
cli-version: 2.5.1 | |
command: download | |
args: --downloadFormat=single-language-json --downloadPath=./src/locales/{lang}/{ns}.json | |
api-key: ${{ secrets.SIMPLELOCALIZE_API_KEY }} | |
- name: Check the change stats | |
id: stats | |
run: | | |
changes="$(git diff --name-only | jq --raw-input --slurp 'split("\n") | map(select(length>0))' --compact-output)" | |
echo "change-count=$(echo $changes | jq --raw-output 'length')" >> $GITHUB_OUTPUT | |
- name: Commit the changes and pushes a feature branch | |
if: ${{ steps.stats.outputs.change-count >= 1 }} | |
run: | | |
git config --global user.name "${{ github.actor }}" | |
git config --global user.email "${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com" | |
git switch -c i18n-update-${{ github.run_id }} | |
git add . | |
git commit -m "feat(i18n): apply i18n dictionary update(s)" | |
git push origin i18n-update-${{ github.run_id }} | |
- name: Close the old pull requests | |
if: ${{ steps.stats.outputs.change-count >= 1 }} | |
run: | | |
for number in `gh pr list --author "github-actions[bot]" --search "head:i18n-update-" --json number | jq --raw-output 'map(.number) | join(" ")'` | |
do | |
gh pr close $number --comment "" --delete-branch | |
done | |
- name: Create a pull request | |
if: ${{ steps.stats.outputs.change-count >= 1 }} | |
run: | | |
gh pr create \ | |
--base main \ | |
--head i18n-update-${{ github.run_id }} \ | |
--title "feat(i18n): apply i18n dictionary update(s)" \ | |
--body "This pull request is created by SimpleLocalize integration." \ | |
--reviewer axross | |
env: | |
GH_TOKEN: ${{ github.token }} |