name: Update library version

on:
  workflow_dispatch:
    inputs:
      new_version:
        description: 'The new version (vX.Y.Z)'
        required: true

env:
  NEW_VERSION: ${{ github.event.inputs.new_version }}
  NEW_BRANCH: update-version-${{ github.event.inputs.new_version }}
  GH_TOKEN: ${{ secrets.MEILI_BOT_GH_PAT }}

jobs:
  update-version:
    name: Update version in Meilisearch.php
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Update Meilisearch.php file
        run: |
          raw_new_version=$(echo $NEW_VERSION | cut -d 'v' -f 2)
          new_string="VERSION = '$raw_new_version';"
          sed -i "s/VERSION = .*/$new_string/" src/Meilisearch.php
      - name: Commit and push the changes to the ${{ env.NEW_BRANCH }} branch
        uses: EndBug/add-and-commit@v9
        with:
          message: "Update version for the next release (${{ env.NEW_VERSION }}) in Meilisearch.php"
          new_branch: ${{ env.NEW_BRANCH }}
      - name: Create the PR pointing to ${{ github.ref_name }}
        run: |
          gh pr create \
            --title "Update version for the next release ($NEW_VERSION)" \
            --body '⚠️ This PR is automatically generated. Check the new version is the expected one.' \
            --label 'skip-changelog' \
            --base $GITHUB_REF_NAME
