name: Batch Release
on:
  push:
    branches:
      - 'release-go_router-*'
      - 'release-cupertino_ui-*'
      - 'release-material_ui-*'
jobs:
  release:
    permissions:
      # Release needs to push a tag back to the repo.
      contents: write
    uses: ./.github/workflows/reusable_release.yml
    with:
      is-batch-release: true
      branch-name: '${{ github.ref_name }}'
    secrets:
      USER_NAME: ${{ secrets.USER_NAME }}
      USER_EMAIL: ${{ secrets.USER_EMAIL }}
      PUB_CREDENTIALS: ${{ secrets.PUB_CREDENTIALS }}

  sync_to_main:
    needs: release
    if: github.repository_owner == 'flutter' && needs.release.result == 'success'
    runs-on: ubuntu-latest
    permissions:
      # Need write permission to create PR.
      contents: write
      pull-requests: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
        with:
          fetch-depth: 0 # Fetch history to allow branch comparison
          persist-credentials: false

      - name: Create Pull Request
        env:
          GH_TOKEN: ${{ secrets.FLUTTERGITHUBBOT_TOKEN }}
        run: |
          gh auth setup-git
          # 1. Fetch main so the runner can see the difference
          git fetch origin main

          # 2. Verify there are actually new commits to sync
          # This prevents the "GraphQL: No commits between main..." error
          COMMITS_COUNT=$(git rev-list --count origin/main..HEAD)

          if [ "$COMMITS_COUNT" -eq "0" ]; then
            echo "No new commits found on ${GITHUB_REF_NAME} compared to main. Nothing to sync."
            exit 0
          fi

          # 3. Extract package name for label
          BRANCH_NAME="${GITHUB_REF_NAME}"
          TEMP="${BRANCH_NAME#release-}"
          PACKAGE_NAME="${TEMP%-*}"

          # 4. Check if PR already exists before creating
          EXISTING_PR=$(gh pr list --head "${GITHUB_REF_NAME}" --base "main" --json number --jq '.[0].number')
          if [ -n "$EXISTING_PR" ]; then
            echo "A pull request for ${GITHUB_REF_NAME} already exists (#${EXISTING_PR})."
            exit 0
          fi

          # 5. Create the PR directly
          gh pr create \
            --base "main" \
            --head "${GITHUB_REF_NAME}" \
            --title "Sync ${GITHUB_REF_NAME} to main" \
            --body "This automated PR syncs the changes from the release branch ${GITHUB_REF_NAME} back to the main branch." \
            --label "override: batch-${PACKAGE_NAME}"

