[Merged by Bors] - fix: rewrite update_dependencies_zulip action #28099
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
# This workflow allows any user to add one of the `awaiting-review`, `awaiting-author`, or `WIP` labels, | |
# by commenting on the PR or issue. | |
# Other labels from this set are removed automatically at the same time. | |
name: Label PR based on Comment | |
on: | |
issue_comment: | |
types: [created] | |
jobs: | |
update-label: | |
if: github.event.issue.pull_request != null && (contains(github.event.comment.body, 'awaiting-review') || contains(github.event.comment.body, 'awaiting-author') || contains(github.event.comment.body, 'WIP')) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Add label based on comment | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
const { owner, repo, number: issue_number } = context.issue; | |
const commentLines = context.payload.comment.body.split('\r\n'); | |
const awaitingReview = commentLines.includes('awaiting-review'); | |
const awaitingAuthor = commentLines.includes('awaiting-author'); | |
const wip = commentLines.includes('WIP'); | |
if (awaitingReview || awaitingAuthor || wip) { | |
await github.rest.issues.removeLabel({ owner, repo, issue_number, name: 'awaiting-review' }).catch(() => {}); | |
await github.rest.issues.removeLabel({ owner, repo, issue_number, name: 'awaiting-author' }).catch(() => {}); | |
await github.rest.issues.removeLabel({ owner, repo, issue_number, name: 'WIP' }).catch(() => {}); | |
} | |
if (awaitingReview) { | |
await github.rest.issues.addLabels({ owner, repo, issue_number, labels: ['awaiting-review'] }); | |
} | |
if (awaitingAuthor) { | |
await github.rest.issues.addLabels({ owner, repo, issue_number, labels: ['awaiting-author'] }); | |
} | |
if (wip) { | |
await github.rest.issues.addLabels({ owner, repo, issue_number, labels: ['WIP'] }); | |
} |