--- /dev/null
+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"