Create sync.yml #3213
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 | |
on: | |
push: | |
branches: | |
- main | |
release: | |
types: | |
- released | |
permissions: write-all | |
jobs: | |
update: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
extensions: curl, mbstring, zip, pcntl, pdo, pdo_sqlite, iconv, json | |
coverage: none | |
- name: Git setup | |
if: success() | |
run: | | |
git config --local user.email "action@github.com" | |
git config --local user.name "GitHub Action" | |
- name: Install dependencies | |
run: composer update --prefer-stable --prefer-dist --no-progress --no-interaction | |
- name: Adding missing locales | |
id: locales | |
if: success() | |
run: | | |
IS_DIRTY=1 | |
vendor/bin/lang create | |
{ git add . && git commit -a -m "✏️ Adding missing locales"; } || IS_DIRTY=0 | |
echo "is_dirty=${IS_DIRTY}" >> "$GITHUB_OUTPUT" | |
- name: Keys actualization | |
id: keys | |
if: success() | |
run: | | |
IS_DIRTY=1 | |
vendor/bin/lang sync | |
{ git add . && git commit -a -m "🔑 Synchronization of translation keys"; } || IS_DIRTY=0 | |
echo "is_dirty=${IS_DIRTY}" >> "$GITHUB_OUTPUT" | |
- name: Update status | |
id: status | |
if: success() | |
run: | | |
IS_DIRTY=1 | |
vendor/bin/lang status | |
{ git add . && git commit -a -m "📃 Translation statuses have been updated"; } || IS_DIRTY=0 | |
echo "is_dirty=${IS_DIRTY}" >> "$GITHUB_OUTPUT" | |
- name: Fix the code style | |
uses: TheDragonCode/codestyler@v4 | |
with: | |
github_token: ${{ secrets.COMPOSER_TOKEN }} | |
fix: true | |
- name: Push changes | |
uses: ad-m/github-push-action@master | |
if: success() && | |
steps.locales.outputs.is_dirty == 1 || | |
steps.keys.outputs.is_dirty == 1 || | |
steps.status.outputs.is_dirty == 1 | |
with: | |
github_token: ${{ secrets.COMPOSER_TOKEN }} | |
- name: Generate docs trigger | |
uses: myrotvorets/trigger-repository-dispatch-action@v2.0.0 | |
if: | | |
success() && ( | |
steps.locales.outputs.is_dirty == 1 || | |
steps.keys.outputs.is_dirty == 1 || | |
steps.status.outputs.is_dirty == 1 | |
) | |
with: | |
token: ${{ secrets.COMPOSER_TOKEN }} | |
repo: Laravel-Lang/docs | |
type: docs |