name: Sync Engine Version

on:
  workflow_dispatch:

jobs:
  sync-engine:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write

    steps:
      - name: Checkout Repository
        uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
        with:
          repository: flutteractionsbot/flutter
          token: ${{ secrets.FLUTTERACTIONSBOT_CP_TOKEN }}
          ref: master
          persist-credentials: false

      - name: Configure git
        run: |
          gh auth setup-git
          git config --global user.name "flutteractionsbot"
          git config --global user.email "<flutter-actions-bot@google.com>"
        env:
          GH_TOKEN: ${{ secrets.FLUTTERACTIONSBOT_CP_TOKEN }}

      - name: Fetch upstream
        run: |
          git remote add upstream https://github.com/flutter/flutter.git
          git fetch upstream "$REF_NAME"

          BRANCH_NAME="update-engine-$(date +%s)"
          echo "BRANCH_NAME=$BRANCH_NAME" >> "$GITHUB_ENV"

          git checkout -b "$BRANCH_NAME" "upstream/$REF_NAME"
        env:
          GH_TOKEN: ${{ secrets.FLUTTERACTIONSBOT_CP_TOKEN }}
          REF_NAME: ${{ github.ref_name }}

      - name: Generate and Capture Hash
        id: generate-hash
        run: |
          # Capture the OLD hash (handle case where file doesn't exist)
          if [ -f bin/internal/engine.version ]; then
            OLD_HASH=$(< bin/internal/engine.version)
          else
            OLD_HASH="None (New File)"
          fi
          echo "OLD_HASH=$OLD_HASH" >> "$GITHUB_ENV"

          chmod +x bin/internal/last_engine_commit.sh
          NEW_HASH=$(./bin/internal/last_engine_commit.sh)

          echo "$NEW_HASH" > bin/internal/engine.version
          echo "ENGINE_HASH=$NEW_HASH" >> "$GITHUB_ENV"

      - name: Check for Changes
        id: git-check
        run: |
          # -f adds even if it's in the .gitignore (which it usually is)
          git add -f bin/internal/engine.version

          if git diff --cached --exit-code bin/internal/engine.version; then
            echo "changed=false" >> "$GITHUB_OUTPUT"

            # Nice big No-Op Summary
            echo "## ✅ Engine version already up to date" >> "$GITHUB_STEP_SUMMARY"
            echo "The engine is already at hash \`$ENGINE_HASH\`. No PR was created." >> "$GITHUB_STEP_SUMMARY"
          else
            echo "changed=true" >> "$GITHUB_OUTPUT"
          fi

      - name: Create PR if Changed
        if: steps.git-check.outputs.changed == 'true'
        run: |
          gh auth setup-git
          git commit -m "Update engine.version to $ENGINE_HASH"
          git push origin "$BRANCH_NAME"

          # Capture the PR URL
          PR_URL=$(gh pr create \
            --title "[$REF_NAME] Sync engine.version to $ENGINE_HASH" \
            --body "Updates the engine.version file from \`$OLD_HASH\` to \`$ENGINE_HASH\`." \
            --repo flutter/flutter \
            --base "$REF_NAME" \
            --head "flutteractionsbot:$BRANCH_NAME")

          # Nice big PR Success Summary
          {
            echo "## 🚀 PR Created Successfully"
            echo "Updated engine version from \`$OLD_HASH\` to \`$ENGINE_HASH\`."
            echo ""
            echo "🔗 **View Pull Request:** $PR_URL"
          } >> "$GITHUB_STEP_SUMMARY"
        env:
          GH_TOKEN: ${{ secrets.FLUTTERACTIONSBOT_CP_TOKEN }}
          REF_NAME: ${{ github.ref_name }}
