Merge pull request #371 from wp-cli/update-schemas #3
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: Update i18n schemas | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
- master | |
paths-ignore: | |
- "features/**" | |
- "README.md" | |
# Cancels all previous workflow runs for the same branch that have not yet completed. | |
concurrency: | |
# The concurrency group contains the workflow name and the branch name. | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
update-schemas: #---------------------------------------------------------- | |
name: Update i18n schema fallback files | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out source code | |
uses: actions/checkout@v4 | |
- name: Configure git user | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "wp-make-coffee" | |
- name: Check if remote branch exists | |
run: echo "REMOTE_BRANCH_EXISTS=$([[ -z $(git ls-remote --heads origin update-schemas) ]] && echo "0" || echo "1")" >> $GITHUB_ENV | |
- name: Create branch to base pull request on | |
if: env.REMOTE_BRANCH_EXISTS == 0 | |
run: | | |
git checkout -b update-schemas | |
- name: Fetch existing branch to add commits to | |
if: env.REMOTE_BRANCH_EXISTS == 1 | |
run: | | |
git fetch --all --prune | |
git checkout update-schemas | |
git pull --no-rebase | |
- name: Download latest schema files | |
run: | | |
curl -s https://develop.svn.wordpress.org/trunk/src/wp-includes/theme-i18n.json -o assets/theme-i18n.json | |
curl -s https://develop.svn.wordpress.org/trunk/src/wp-includes/block-i18n.json -o assets/block-i18n.json | |
- name: Check if there are changes | |
run: echo "CHANGES_DETECTED=$([[ -z $(git status --porcelain) ]] && echo "0" || echo "1")" >> $GITHUB_ENV | |
- name: Commit changes | |
if: env.CHANGES_DETECTED == 1 | |
run: | | |
git add assets/theme-i18n.json | |
git add assets/block-i18n.json | |
git commit -m "Update schema fallback files - $(date +'%Y-%m-%d')" | |
git push origin update-schemas | |
- name: Create pull request | |
if: | | |
env.CHANGES_DETECTED == 1 && | |
env.REMOTE_BRANCH_EXISTS == 0 | |
uses: repo-sync/pull-request@v2 | |
with: | |
source_branch: update-schemas | |
destination_branch: ${{ github.event.repository.default_branch }} | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
pr_title: Update schema fallback files | |
pr_body: "**This is an automated pull-request**\n\nRefreshes the i18n schema files with the latest changes from core.\n\nThese are only used as a fallback if they can't be accessed directly." | |
pr_reviewer: swissspidy | |
pr_label: scope:distribution |