# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization

name: Update nextcloud/ocp

on:
  workflow_dispatch:
  schedule:
    - cron: "5 2 * * 0"

jobs:
  update-nextcloud-ocp:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        branches: ["master", "stable25", "stable24", "stable23"]

    name: update-nextcloud-ocp-${{ matrix.branches }}

    steps:
      - uses: actions/checkout@v3
        with:
          ref: ${{ matrix.branches }}
          submodules: true

      - name: Set up php7.4
        uses: shivammathur/setup-php@v2
        with:
          php-version: 7.4
          extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
          coverage: none

      - name: Composer install
        run: composer install

      - name: Composer update nextcloud/ocp
        run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
        continue-on-error: true

      - name: Reset checkout dirs
        run: |
          git clean -f 3rdparty
          git clean -f vendor
          git checkout 3rdparty vendor
        continue-on-error: true

      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v3
        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/${{ matrix.branches }}-update-nextcloud-ocp
          title: "[${{ matrix.branches }}] Update nextcloud/ocp dependency"
          body: |
            Auto-generated update of [nextcloud/ocp](https://github.com/nextcloud-deps/ocp/) dependency
          labels: |
            dependencies
            3. to review
