name: Generate stubs

on: workflow_dispatch

env:
  php-version: '7.4'

jobs:
  generate-stubs:
    name: Generate stubs
    runs-on: ubuntu-latest

    steps:
    - name: Checkout
      uses: actions/checkout@v4

    - name: Install PHP
      uses: shivammathur/setup-php@v2
      with:
        coverage: none
        ini-file: development
        php-version: ${{ env.php-version }}

    - name: Install dependencies
      run: composer install --no-interaction --no-progress --prefer-dist

    - name: Generate stubs
      run: |
        ./generate.sh # Generate stubs

    - name: Commit file
      run: |
          git config --local user.name "GitHub Actions"
          git config --local user.email "no-reply@github.com"
          git add wordpress-stubs.php
          git commit -m "Update WordPress stubs" || exit 0
          git push origin ${{ github.ref_name }}
