name: pr-size

on: [pull_request]

permissions:
  contents: read

jobs:
  labeler:
    permissions:
      pull-requests: write  # for codelytv/pr-size-labeler to add labels & comment on PRs
    runs-on: ubuntu-latest
    name: Label the PR size
    steps:
      - name: Harden Runner
        uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
        with:
          egress-policy: audit

      - uses: codelytv/pr-size-labeler@4ec67706cd878fbc1c8db0a5dcd28b6bb412e85a # v1
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          xs_label: 'size/xs'
          xs_max_size: '10'
          s_label: 'size/s'
          s_max_size: '200'
          m_label: 'size/m'
          m_max_size: '1000'
          l_label: 'size/l'
          l_max_size: '10000'
          xl_label: 'size/xl'
          fail_if_xl: 'false'
          message_if_xl: >
            This PR exceeds the recommended size of 1000 lines.
            Please make sure you are NOT addressing multiple issues with one PR.
            Note this PR might be rejected due to its size.
          github_api_url: 'https://api.github.com'
          files_to_ignore: ''
