name: "UpdateOctokit"

on:
  workflow_dispatch:

jobs:
  UpdateOctokit:
    runs-on: ubuntu-latest
    if: ${{ github.repository_owner == 'actions' }}
    steps:
    - name: Checkout repository
      uses: actions/checkout@v5
    - name: Update Octokit
      working-directory: packages/github 
      run: |
        npx npm-check-updates -u --dep prod
        npm install
    - name: Check Status
      id: status
      working-directory: packages/github 
      run: | 
        if [[ "$(git status --porcelain)" != "" ]]; then 
        echo "::set-output name=createPR::true"
        git config --global user.email "github-actions@github.com"
        git config --global user.name "github-actions[bot]"
        git checkout -b bots/updateGitHubDependencies-${{github.run_number}}
        git add .
        git commit -m "Update Dependencies"
        git push --set-upstream origin bots/updateGitHubDependencies-${{github.run_number}}
        fi
    - name: Create PR
      if: ${{steps.status.outputs.createPR}}
      uses: actions/github-script@v6
      with:
          github-token: ${{secrets.GITHUB_TOKEN}}
          script: |
            github.pulls.create(
            {
              base: "main",
              owner: "${{github.repository_owner}}",
              repo: "toolkit",
              title: "Update Octokit dependencies",
              body: "Update Octokit dependencies",
              head: "bots/updateGitHubDependencies-${{github.run_number}}"
            })
