aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/update_mergify.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/update_mergify.yml')
-rw-r--r--.github/workflows/update_mergify.yml53
1 files changed, 53 insertions, 0 deletions
diff --git a/.github/workflows/update_mergify.yml b/.github/workflows/update_mergify.yml
new file mode 100644
index 00000000..d2067a42
--- /dev/null
+++ b/.github/workflows/update_mergify.yml
@@ -0,0 +1,53 @@
+name: Update .mergify.yml
+on:
+ schedule:
+ # Runs once an hour
+ - cron: "0 * * * *"
+
+jobs:
+ update-mergify:
+ name: Update .mergify.yml
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Checkout Chisel Repo Tools
+ uses: actions/checkout@v2
+ with:
+ repository: ucb-bar/chisel-repo-tools
+ path: tools
+ - name: Setup Scala
+ uses: olafurpg/setup-scala@v10
+ - name: Install Ammonite
+ run: sudo sh -c '(echo "#!/usr/bin/env sh" && curl -L https://github.com/com-lihaoyi/Ammonite/releases/download/2.3.8/2.13-2.3.8) > /usr/local/bin/amm && chmod +x /usr/local/bin/amm'
+ - name: Cache Scala
+ uses: coursier/cache-action@v6
+ - name: Generate .mergify.yml
+ id: gen
+ run: |
+ ./tools/scripts/mergify.sc .github/configs/mergify_config.yml > .mergify.yml
+ diff=$(git diff -- .mergify.yml)
+ echo "::set-output name=diff::$diff"
+ - name: Commit and Push
+ if: ${{ steps.gen.outputs.diff }}
+ run: |
+ BRANCH="actions/workflows/update-mergify"
+ git config --local user.email "action@github.com"
+ git config --local user.name "GitHub Action"
+ git checkout -B $BRANCH
+ git add .mergify.yml
+ git commit -m "Update .mergify.yml"
+ git push --follow-tags --force --set-upstream origin $BRANCH
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ - name: Open/Update Pull Request
+ if: ${{ steps.gen.outputs.diff }}
+ uses: vsoch/pull-request-action@1.0.15
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ PULL_REQUEST_FROM_BRANCH: actions/workflows/update-mergify
+ PULL_REQUEST_BRANCH: master
+ PULL_REQUEST_TITLE: "Update .mergify.yml"
+ PULL_REQUEST_BODY: "This is an automated pull request by \"Update .mergify.yml\" workflow"
+ PASS_IF_EXISTS: true
+