name: Close LLM-generated PRs

on:
  pull_request_target:
    types: [labeled]

permissions: {}

jobs:
  comment_and_close:
    runs-on: ubuntu-latest
    if: ${{ github.event.label.name == 'llm-generated' }}
    permissions:
      pull-requests: write
    steps:
      - name: Comment and close
        env:
          GH_TOKEN: ${{ github.token }}
          NODE_ID: ${{ github.event.pull_request.node_id }}
        run: |
          gh api graphql \
            -f prId="$NODE_ID" \
            -f body="Thank you for your interest in contributing to Immich! Unfortunately this PR looks like it was generated using an LLM. As noted in our [CONTRIBUTING.md](https://github.com/immich-app/immich/blob/main/CONTRIBUTING.md#use-of-generative-ai), we request that you don't use LLMs to generate PRs as those are not a good use of maintainer time." \
            -f query='
              mutation CommentAndClosePR($prId: ID!, $body: String!) {
                addComment(input: {
                  subjectId: $prId,
                  body: $body
                }) {
                  __typename
                }

                closePullRequest(input: {
                  pullRequestId: $prId
                }) {
                  __typename
                }
              }'
