Update Submodules #153
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This Source Code Form is subject to the terms of the Mozilla Public | |
| # License, v. 2.0. If a copy of the MPL was not distributed with this | |
| # file, You can obtain one at http://mozilla.org/MPL/2.0/. | |
| # | |
| # Copyright (c) 2011-2022 ETH Zurich. | |
| name: Update Submodules | |
| on: | |
| workflow_dispatch: # allow to manually trigger this workflow | |
| schedule: | |
| - cron: '0 6 1 * *' # run on the first day of each month at 06:00 UTC | |
| jobs: | |
| # Update the submodules and create a PR if there are any changes | |
| update: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out the repo | |
| uses: actions/checkout@v5 | |
| with: | |
| submodules: true | |
| - name: Get current commits | |
| run: | | |
| echo "PREV_VIPERSERVER_REF=$(git -C viperserver rev-parse HEAD)" >> $GITHUB_ENV | |
| echo "PREV_SIF_EXTENSION_REF=$(git -C silver-sif-extension rev-parse HEAD)" >> $GITHUB_ENV | |
| - name: Update ViperServer submodule | |
| run: git checkout master && git pull | |
| working-directory: viperserver | |
| - name: Update SIF Plugin submodule | |
| run: git checkout master && git pull | |
| working-directory: silver-sif-extension | |
| - name: Get new commits | |
| run: | | |
| echo "CUR_VIPERSERVER_REF=$(git -C viperserver rev-parse HEAD)" >> $GITHUB_ENV | |
| echo "CUR_SIF_EXTENSION_REF=$(git -C silver-sif-extension rev-parse HEAD)" >> $GITHUB_ENV | |
| - name: Create PR body | |
| run: | | |
| if [[ "${{ env.PREV_VIPERSERVER_REF }}" != "${{ env.CUR_VIPERSERVER_REF }}" ]]; then | |
| echo 'PR_BODY_LINE1=* Updates ViperServer from `${{ env.PREV_VIPERSERVER_REF }}` to `${{ env.CUR_VIPERSERVER_REF }}`.' >> $GITHUB_ENV | |
| else | |
| echo 'PR_BODY_LINE1=' >> $GITHUB_ENV | |
| fi | |
| if [[ "${{ env.PREV_SIF_EXTENSION_REF }}" != "${{ env.CUR_SIF_EXTENSION_REF }}" ]]; then | |
| echo 'PR_BODY_LINE2=* Updates SIF Plugin from `${{ env.PREV_SIF_EXTENSION_REF }}` to `${{ env.CUR_SIF_EXTENSION_REF }}`.' >> $GITHUB_ENV | |
| else | |
| echo 'PR_BODY_LINE2=' >> $GITHUB_ENV | |
| fi | |
| - name: Open a pull request | |
| id: pr | |
| uses: peter-evans/create-pull-request@v7 | |
| if: (env.PREV_VIPERSERVER_REF != env.CUR_VIPERSERVER_REF) || (env.PREV_SIF_EXTENSION_REF != env.CUR_SIF_EXTENSION_REF) | |
| with: | |
| # Use viper-admin's token to workaround a restriction of GitHub. | |
| # See: https://github.com/peter-evans/create-pull-request/issues/48 | |
| token: ${{ secrets.VIPER_ADMIN_TOKEN }} | |
| commit-message: Updates submodules | |
| title: Update Submodules | |
| branch: auto-update-submodules | |
| delete-branch: true | |
| labels: | | |
| automated pr | |
| body: | | |
| ${{ env.PR_BODY_LINE1 }} | |
| ${{ env.PR_BODY_LINE2 }} | |
| # - name: Enable auto-merge of PR | |
| # if: (env.PREV_VIPERSERVER_REF != env.CUR_VIPERSERVER_REF) || (env.PREV_SIF_EXTENSION_REF != env.CUR_SIF_EXTENSION_REF) | |
| # run: gh pr merge --merge --auto "${{ steps.pr.outputs.pull-request-number }}" | |
| # env: | |
| # GH_TOKEN: ${{ secrets.VIPER_ADMIN_TOKEN }} |