name: i18n Check
on:
    workflow_call: {}
jobs:
    check:
        runs-on: ubuntu-latest
        permissions:
            pull-requests: read
        steps:
            - uses: actions/checkout@v3

            - name: "Get modified files"
              id: changed_files
              if: github.event_name == 'pull_request' && github.event.pull_request.user.login != 'RiotTranslateBot'
              uses: tj-actions/changed-files@84ed30e2f4daf616144de7e0c1db59d5b33025e3 # v35
              with:
                  files: |
                      src/i18n/strings/*
                  files_ignore: |
                      src/i18n/strings/en_EN.json

            - name: "Assert only en_EN was modified"
              if: |
                  github.event_name == 'pull_request' &&
                  github.event.pull_request.user.login != 'RiotTranslateBot' &&
                  steps.changed_files.outputs.any_modified == 'true'
              run: |
                  echo "Only translation files modified by `yarn i18n` can be committed - other translation files will confuse weblate in unrecoverable ways."
                  exit 1

            - uses: actions/setup-node@v3
              with:
                  cache: "yarn"

            # Does not need branch matching as only analyses this layer
            - name: Install Deps
              run: "yarn install --pure-lockfile"

            - name: i18n Check
              run: "yarn run diff-i18n"
