name: Update Psalm baseline

on:
  workflow_dispatch:
  schedule:
    - cron: '5 4 * * *'

jobs:
  update-psalm-baseline:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Set up php
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.3
          extensions: apcu
          coverage: none

      - name: Run script
        run: |
          set -x
          cd php
          composer install
          composer run psalm:update-baseline
          git clean -f lib/composer
          git checkout composer.json composer.lock lib/composer
        continue-on-error: true

      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v7
        with:
          token: ${{ secrets.COMMAND_BOT_PAT }}
          commit-message: Update psalm baseline
          committer: GitHub <noreply@github.com>
          author: nextcloud-command <nextcloud-command@users.noreply.github.com>
          signoff: true
          branch: automated/noid/psalm-baseline-update
          title: '[Automated] Update psalm-baseline.xml'
          milestone: next
          body: |
            Auto-generated update psalm-baseline.xml with fixed psalm warnings
          labels: |
            3. to review, dependencies
