]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add a command to update the 3rdparty submodule to the same branch as the PR target
authorCôme Chilliet <come.chilliet@nextcloud.com>
Mon, 5 Dec 2022 17:20:00 +0000 (18:20 +0100)
committermax-nextcloud (Rebase PR Action) <max-nextcloud@users.noreply.github.com>
Tue, 14 Mar 2023 22:08:46 +0000 (22:08 +0000)
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
.github/workflows/command-pull-3rdparty.yml [new file with mode: 0644]

diff --git a/.github/workflows/command-pull-3rdparty.yml b/.github/workflows/command-pull-3rdparty.yml
new file mode 100644 (file)
index 0000000..e532747
--- /dev/null
@@ -0,0 +1,50 @@
+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@v2
+        with:
+          token: ${{ secrets.COMMAND_BOT_PAT }}
+          repository: ${{ github.event.repository.full_name }}
+          comment-id: ${{ github.event.comment.id }}
+          reaction-type: "+1"
+
+      - name: Checkout the latest code
+        uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+          token: ${{ secrets.COMMAND_BOT_PAT }}
+
+      - name: Pull 3rdparty
+        run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin ${{ github.event.pull_request.base.ref }}; fi'
+
+      - name: Commit and push changes
+        run: |
+          git add 3rdparty
+          git commit -m "Update submodule 3rdparty to latest ${{ github.event.pull_request.base.ref }}"
+          git push
+
+      - name: Add reaction on failure
+        uses: peter-evans/create-or-update-comment@v2
+        if: failure()
+        with:
+          token: ${{ secrets.COMMAND_BOT_PAT }}
+          repository: ${{ github.event.repository.full_name }}
+          comment-id: ${{ github.event.comment.id }}
+          reaction-type: "-1"