| name: Check i18n Files and Create PR |
|
|
| on: |
| pull_request: |
| types: [closed] |
| branches: [main] |
|
|
| jobs: |
| check-and-update: |
| if: github.event.pull_request.merged == true |
| runs-on: ubuntu-latest |
| defaults: |
| run: |
| working-directory: web |
| steps: |
| - uses: actions/checkout@v4 |
| with: |
| fetch-depth: 2 |
|
|
| - name: Check for file changes in i18n/en-US |
| id: check_files |
| run: | |
| recent_commit_sha=$(git rev-parse HEAD) |
| second_recent_commit_sha=$(git rev-parse HEAD~1) |
| changed_files=$(git diff --name-only $recent_commit_sha $second_recent_commit_sha -- 'i18n/en-US/*.ts') |
| echo "Changed files: $changed_files" |
| if [ -n "$changed_files" ]; then |
| echo "FILES_CHANGED=true" >> $GITHUB_ENV |
| else |
| echo "FILES_CHANGED=false" >> $GITHUB_ENV |
| fi |
| |
| - name: Set up Node.js |
| if: env.FILES_CHANGED == 'true' |
| uses: actions/setup-node@v2 |
| with: |
| node-version: 'lts/*' |
|
|
| - name: Install dependencies |
| if: env.FILES_CHANGED == 'true' |
| run: yarn install --frozen-lockfile |
|
|
| - name: Run npm script |
| if: env.FILES_CHANGED == 'true' |
| run: npm run auto-gen-i18n |
|
|
| - name: Create Pull Request |
| if: env.FILES_CHANGED == 'true' |
| uses: peter-evans/create-pull-request@v6 |
| with: |
| commit-message: Update i18n files based on en-US changes |
| title: 'chore: translate i18n files' |
| body: This PR was automatically created to update i18n files based on changes in en-US locale. |
| branch: chore/automated-i18n-updates |
|
|