---
name: Generate Repology JSON
on:
  schedule:
    - cron: '0 12 * * 0'  # Weekly
  workflow_dispatch:
jobs:
  generate:
    if: ${{ github.repository_owner == 'chromebrew' }}
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.4.2'
      - name: Install highline
        run: sudo apt install -y ruby-highline
      - name: Install activesupport
        run: sudo apt install -y ruby-activesupport
      - name: Configure git
        run: |
          git config --global user.name 'github-actions[bot]'
          git config --global user.email '41898282+github-actions[bot]@users.noreply.github.com'
      - name: Generate repology.json
        env:
          CREW_KERNEL_VERSION: 5.10
          LIBC_VERSION: 2.37
        run: |
          ruby -Ctools json.rb
      - name: Create Pull Request
        id: cpr
        uses: peter-evans/create-pull-request@v7
        env:
          GH_TOKEN: ${{ secrets.CREW_PR_TOKEN }}
        with:
          add-paths: "tools/repology.json"
          title: "Update Repology JSON"
          body: "Automatic PR to update tools/repology.json"
          author: "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>"
          commit-message: "Update Repology JSON"
          delete-branch: true
          team-reviewers: chromebrew/active
      - name: Trigger Unit Test Workflow & Add Reviewer Team
        env:
          GH_TOKEN: ${{ secrets.CREW_PR_TOKEN }}
          PR_NUMBER: :${{ steps.cpr.outputs.pull-request-number }}
        run: |
            echo "Flipping pr ${PR_NUMBER} state."
            gh pr close "${PR_NUMBER}" && gh pr reopen "${PR_NUMBER}"
            gh pr edit "${PR_NUMBER}" --add-reviewer chromebrew/active
            gh pr merge "${PR_NUMBER}" --auto
