name: Auto PR (master → main)

on:
  push:
    branches: [master]

jobs:
  create-pr:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Create or update PR
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          # Check if there's already an open PR from master to main
          EXISTING_PR=$(gh pr list --base main --head master --state open --json number --jq '.[0].number')

          if [ -n "$EXISTING_PR" ]; then
            echo "PR #$EXISTING_PR already exists — new commits will appear automatically"
            exit 0
          fi

          echo "Creating new PR: master → main"
          if gh pr create \
            --base main \
            --head master \
            --title "Sync: master → main" \
            --body "Automated PR to sync master branch changes to main.

          This PR was created automatically and will be merged once CI checks pass."; then
            echo "PR created successfully"
          else
            echo "PR creation skipped (branches may already be in sync)"
          fi
