name: Backport
on:
  pull_request_target:
    types: [closed, labeled]

# WARNING:
# When extending this action, be aware that $GITHUB_TOKEN allows write access to
# the GitHub repository. This means that it should not evaluate user input in a
# way that allows code injection.

permissions:
  contents: read

jobs:
  backport:
    permissions:
      contents: write # for korthout/backport-action to create branch
      pull-requests: write # for korthout/backport-action to create PR to backport
    name: Backport Pull Request
    if: github.repository_owner == 'PrismLauncher' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.event.pull_request.head.sha }}
      - name: Create backport PRs
        uses: korthout/backport-action@v1.4.0
        with:
          # Config README: https://github.com/korthout/backport-action#backport-action
          pull_description: |-
            Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.