# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors # SPDX-License-Identifier: MIT name: Update 3rdparty command on: issue_comment: types: created permissions: contents: read jobs: rebase: runs-on: ubuntu-latest permissions: contents: none # On pull requests and if the comment starts with `/update-3rdparty` if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/update-3rdparty') steps: - name: Add reaction on start uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1 with: token: ${{ secrets.COMMAND_BOT_PAT }} repository: ${{ github.event.repository.full_name }} comment-id: ${{ github.event.comment.id }} reactions: '+1' - name: Disabled on forks if: ${{ github.event.pull_request.head.repo.full_name != github.repository }} run: | echo 'Can not execute /update-3rdparty on forks' exit 1 - name: Init branch uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1 id: comment-branch - name: Checkout ${{ steps.comment-branch.outputs.head_ref }} uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: fetch-depth: 0 token: ${{ secrets.COMMAND_BOT_PAT }} ref: ${{ steps.comment-branch.outputs.head_ref }} - name: Setup git run: | git config --local user.email 'nextcloud-command@users.noreply.github.com' git config --local user.name 'nextcloud-command' - name: Pull 3rdparty run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin '"'"'${{ github.event.issue.pull_request.base.ref }}'"'"'; fi' - name: Commit and push changes run: | git add 3rdparty git commit -s -m 'Update submodule 3rdparty to latest ${{ github.event.issue.pull_request.base.ref }}' git push - name: Add reaction on failure uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1 if: failure() with: token: ${{ secrets.COMMAND_BOT_PAT }} repository: ${{ github.event.repository.full_name }} comment-id: ${{ github.event.comment.id }} reactions: '-1'