name: Manual Update README with Download Links

on:
  workflow_dispatch:
    inputs:
      workflow_run_id:
        description: 'Workflow Run ID to link to'
        required: true
        default: ''

jobs:
  update-readme:
    name: Update README with Download Links
    runs-on: ubuntu-latest
    container:
      image: ubuntu:latest
    steps:
      - name: Setup environment
        run: |
          apt update -y
          apt install -y git curl

      - name: Checkout repository manually
        run: |
          # Clone the repository manually instead of using actions/checkout
          git clone https://git.raines.xyz/robojerk/libostree-dev.git /tmp/libostree-dev
          cp -r /tmp/libostree-dev/* .
          cp -r /tmp/libostree-dev/.* . 2>/dev/null || true

      - name: Update README with download links
        run: |
          # Get current date and workflow run ID
          BUILD_DATE=$(date '+%Y-%m-%d %H:%M:%S UTC')
          WORKFLOW_RUN_ID="${{ github.event.inputs.workflow_run_id }}"
          
          if [ -z "$WORKFLOW_RUN_ID" ]; then
            echo "No workflow run ID provided, using latest successful build"
            # You can manually set this to the latest successful build ID
            WORKFLOW_RUN_ID="97"  # Update this to the actual workflow run ID
          fi
          
          echo "Updating README with workflow run ID: $WORKFLOW_RUN_ID"
          
          # Create the download section content
          cat > download-section.md << EOF
          
          ## 📦 Download Latest Build
          
          **Last Built**: $BUILD_DATE  
          **Version**: 2025.2-1~noble1  
          **Target**: Ubuntu Noble (24.04 LTS)
          **Build ID**: [$WORKFLOW_RUN_ID](https://git.raines.xyz/robojerk/libostree-dev/actions/runs/$WORKFLOW_RUN_ID)
          
          ### Download Links
          
          - **libostree-dev_2025.2-1~noble1_amd64.deb** - [Download from Build $WORKFLOW_RUN_ID](https://git.raines.xyz/robojerk/libostree-dev/actions/runs/$WORKFLOW_RUN_ID)
          - **libostree-dev-dbgsym_2025.2-1~noble1_amd64.ddeb** - [Download from Build $WORKFLOW_RUN_ID](https://git.raines.xyz/robojerk/libostree-dev/actions/runs/$WORKFLOW_RUN_ID)
          
          ### Quick Installation
          
          \`\`\`bash
          # Download and install the package
          # Visit: https://git.raines.xyz/robojerk/libostree-dev/actions/runs/$WORKFLOW_RUN_ID
          # Download the .deb files and run:
          sudo dpkg -i libostree-dev_2025.2-1~noble1_amd64.deb
          sudo apt-get install -f  # Install any missing dependencies
          \`\`\`
          
          ### Verification
          
          \`\`\`bash
          # Check if libostree 2025.2-1 is installed
          pkg-config --modversion ostree-1
          # Should output: 2025.2
          \`\`\`
          
          ---
          
          EOF
          
          # Replace the existing download section in README.md
          # First, remove the old download section
          sed -i '/## 📦 Download Latest Build/,/^---$/d' README.md
          
          # Then insert the new download section after the Usage section
          awk '/## Usage/{print; system("cat download-section.md"); next} 1' README.md > README.md.tmp
          mv README.md.tmp README.md
          
          echo "README updated with download links for workflow run $WORKFLOW_RUN_ID"

      - name: Commit and push changes
        run: |
          # Configure git
          git config --global user.email "ci@raines.xyz"
          git config --global user.name "CI Bot"
          
          # Add and commit changes
          git add README.md
          git commit -m "Update README with download links from workflow run $WORKFLOW_RUN_ID"
          
          # Push changes
          git push origin main 