# 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 # # SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors # SPDX-License-Identifier: MIT name: Update nextcloud/ocp on: workflow_dispatch: schedule: - cron: "5 2 * * 0" permissions: contents: read issues: write jobs: update-nextcloud-ocp: runs-on: ubuntu-latest strategy: fail-fast: false matrix: branches: - ${{ github.event.repository.default_branch }} - 'stable33' - 'stable32' name: update-nextcloud-ocp-${{ matrix.branches }} steps: - id: checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false ref: ${{ matrix.branches }} submodules: true continue-on-error: true - name: Set up php8.2 if: steps.checkout.outcome == 'success' uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0 with: php-version: 8.2 # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite coverage: none env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Read codeowners if: steps.checkout.outcome == 'success' id: codeowners run: | grep '/appinfo/info.xml' .github/CODEOWNERS | cut -f 2- -d ' ' | xargs | awk '{ print "codeowners="$0 }' >> $GITHUB_OUTPUT continue-on-error: true - name: Composer install if: steps.checkout.outcome == 'success' run: composer install - name: Check composer bin for nextcloud/ocp exists id: check_composer_bin uses: andstor/file-existence-action@558493d6c74bf472d87c84eab196434afc2fa029 # v3.1.0 with: files: vendor-bin/nextcloud-ocp/composer.json - name: Composer update nextcloud/ocp id: update_branch env: USE_COMPOSER_BIN: ${{ steps.check_composer_bin.outputs.files_exists }} BRANCH_NAME: ${{ matrix.branches }} run: | COMPOSER_CMD='composer' if [[ "$USE_COMPOSER_BIN" == 'true' ]]; then COMPOSER_CMD='composer bin nextcloud-ocp' fi PACKAGE_VERSION="nextcloud/ocp:dev-$BRANCH_NAME" if [[ "$BRANCH_NAME" == 'main' ]]; then PACKAGE_VERSION='nextcloud/ocp:dev-master' fi echo $COMPOSER_CMD require --dev $PACKAGE_VERSION $COMPOSER_CMD require --dev $PACKAGE_VERSION - name: Raise on issue on failure uses: dacbd/create-issue-action@cdb57ab6ff8862aa09fee2be6ba77a59581921c2 # v2.0.0 if: ${{ steps.checkout.outcome == 'success' && failure() && steps.update_branch.conclusion == 'failure' }} with: token: ${{ secrets.GITHUB_TOKEN }} title: 'Failed to update nextcloud/ocp package on branch ${{ matrix.branches }}' body: 'Please check the output of the GitHub action and manually resolve the issues
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
${{ steps.codeowners.outputs.codeowners }}' - name: Create Pull Request if: steps.checkout.outcome == 'success' uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0 with: token: ${{ secrets.COMMAND_BOT_PAT }} # zizmor: ignore[secrets-outside-env] commit-message: 'chore(dev-deps): Bump nextcloud/ocp package' committer: GitHub author: nextcloud-command signoff: true branch: 'automated/noid/${{ matrix.branches }}-update-nextcloud-ocp' title: '[${{ matrix.branches }}] Update nextcloud/ocp dependency' add-path: | composer.json composer.lock vendor-bin/nextcloud-ocp/composer.json vendor-bin/nextcloud-ocp/composer.lock body: | Auto-generated update of [nextcloud/ocp](https://github.com/nextcloud-deps/ocp/) dependency labels: | dependencies