mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-07-12 12:21:34 +00:00
Run script and create branch automatic workflow
This commit is contained in:
parent
dff1bd4e87
commit
9fa7950df3
1 changed files with 68 additions and 0 deletions
68
.github/workflows/i18n-automatic-branch.yml
vendored
Normal file
68
.github/workflows/i18n-automatic-branch.yml
vendored
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
name: Update JSON Files
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main # Only care about the main branch, don't care about any PRs or forks
|
||||
- master
|
||||
paths:
|
||||
- strings/** # Should only check if any strings changed
|
||||
|
||||
jobs:
|
||||
update_translations:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Check out the repository
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Set up node to run the javascript
|
||||
- name: Set up node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
# Runs the custom script using the local action defined in `action.yaml`
|
||||
#
|
||||
# The action runs the `copy_keys.js` script, which copies any unused keys
|
||||
# from the English language file to other language files, and orders each
|
||||
# file by key alphabetically.
|
||||
#
|
||||
# The only argument is the `directory`, which is where the i18n files are
|
||||
# stored.
|
||||
- name: Run Update JSON Files action
|
||||
uses: audiobookshelf/audiobookshelf-i18n-updater@v1.0.0-beta
|
||||
with:
|
||||
directory: 'strings/' # Adjust the directory path as needed
|
||||
|
||||
# Does a git diff to see if any language files were changed from running
|
||||
# the script. This will be false if the local script was already ran
|
||||
# locally so no changes are needed for the language files.
|
||||
- name: Check diff of strings
|
||||
run: |
|
||||
if git diff --exit-code; then
|
||||
echo "CHANGED=false" >>${GITHUB_ENV}
|
||||
else
|
||||
echo "CHANGED=true" >>${GITHUB_ENV}
|
||||
fi
|
||||
|
||||
|
||||
# If changes were detected, create a branch with the changes and open
|
||||
# a PR to `main`. This requires changing the Workflow Permissions
|
||||
# to be "read and write" to create the branch and commit, and then
|
||||
# also need to enable "Allow GitHub actions to create and approve PR"
|
||||
# so the PR can actually be made. Also set up secrets for user email
|
||||
# name if anyone cares about that since it's available in git logs anyway.
|
||||
- name: If changes, commit and open PR
|
||||
if: ${{ env.CHANGED == 'true' }}
|
||||
run: |
|
||||
branch_name="update-strings-$(git log --format=%h -n 1)"
|
||||
git config user.email "${{secrets.USER_EMAIL}}"
|
||||
git config user.name "${{secrets.USER_NAME}}"
|
||||
git checkout -b $branch_name
|
||||
git add .
|
||||
git commit -m "chore: Update strings"
|
||||
git push origin $branch_name
|
||||
gh pr create -B main -H $branch_name --title 'Automatic translation updates' --body 'Created by GH Action. Can be ignored if there are other open translation PRs.'
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
Loading…
Add table
Add a link
Reference in a new issue