Maintainer merge (review) #53233
This file contains 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
name: Maintainer merge (review) | |
on: | |
pull_request_review: | |
# triggers on a review, whether or not it is accompanied by a comment | |
types: [submitted] | |
jobs: | |
ping_zulip: | |
name: Ping maintainers on Zulip | |
if: (startsWith(github.event.review.body, 'maintainer merge') || contains(toJSON(github.event.review.body), '\nmaintainer merge')) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check whether user is part of mathlib-reviewers team | |
uses: TheModdingInquisition/[email protected] | |
with: | |
organization: 'leanprover-community' | |
team: 'mathlib-reviewers' # required. The team to check for | |
token: ${{ secrets.MATHLIB_REVIEWERS_TEAM_KEY }} # required. Personal Access Token with the `read:org` permission | |
exit: true # optional. If the action should exit if the user is not part of the team. Defaults to true. | |
- uses: actions/checkout@v4 | |
with: | |
ref: master | |
- name: Determine Zulip topic | |
id: determine_topic | |
run: | | |
./scripts/get_tlabel.sh "${PR}" >> "$GITHUB_OUTPUT" | |
env: | |
PR: /repos/leanprover-community/mathlib4/issues/${{ github.event.pull_request.number }} | |
GH_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Send message on Zulip | |
uses: zulip/github-actions-zulip/send-message@v1 | |
with: | |
api-key: ${{ secrets.ZULIP_API_KEY }} | |
email: '[email protected]' | |
organization-url: 'https://leanprover.zulipchat.com' | |
to: 'mathlib reviewers' | |
type: 'stream' | |
topic: ${{ steps.determine_topic.outputs.topic }} | |
content: | | |
${{ format('{0} requested a maintainer merge from review on PR [#{1}]({2}):', github.event.review.user.login, github.event.pull_request.number, github.event.pull_request.html_url ) }} | |
> ${{ github.event.pull_request.title }} | |
- name: Add comment to PR | |
uses: GrantBirki/comment@v2 | |
with: | |
issue-number: ${{ github.event.pull_request.number }} | |
body: | | |
🚀 Pull request has been placed on the maintainer queue by ${{ github.event.review.user.login }}. | |
- name: Add label to PR | |
uses: actions/github-script@v7 | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
script: | | |
const { owner, repo, number: issue_number } = context.issue; | |
await github.rest.issues.addLabels({ owner, repo, issue_number, labels: ['maintainer-merge'] }); |