]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
ci: Add/Drop labels on pull request activity and comment
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 8 Dec 2022 15:25:03 +0000 (16:25 +0100)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 8 Dec 2022 19:50:13 +0000 (04:50 +0900)
When a pull request is opened/updated, add "please-review" and
remove a few other labels.

When a comment is made with /please-review on a PR. Add the
"please-review" label to the PR.

.github/workflows/labeler.yml

index 35766df59151c45b084aec4081db6031339ced55..b86d1ff7692cf638e4c5253d3f98ed7363eab2bd 100644 (file)
@@ -6,6 +6,7 @@ name: "Pull Request Labeler"
 
 on:
 - pull_request_target
+- issue_comment
 
 permissions:
   contents: read
@@ -18,7 +19,46 @@ jobs:
       pull-requests: write
     steps:
     - uses: actions/labeler@e54e5b338fbd6e6cdb5d60f51c22335fc57c401e
+      if: github.event_name == 'pull_request_target'
       with:
         repo-token: "${{ secrets.GITHUB_TOKEN }}"
         configuration-path: .github/labeler.yml
         sync-labels: "" # This is a workaround for issue 18671
+
+    - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0
+      if: github.event_name == 'pull_request_target'
+      with:
+        script: |
+          await github.rest.issues.addLabels({
+            issue_number: context.issue.number,
+            owner: context.repo.owner,
+            repo: context.repo.repo,
+            labels: ["please-review"]
+          })
+          for (const label of ["reviewed/needs-rework ðŸ”¨",
+                               "ci-fails/needs-rework ðŸ”¥",
+                               "ci-failure-appears-unrelated"]) {
+            try {
+              await github.rest.issues.removeLabel({
+                issue_number: context.issue.number,
+                owner: context.repo.owner,
+                repo: context.repo.repo,
+                name: label,
+              })
+            } catch (err) {
+              if (err.status != 404) {
+                throw err;
+              }
+            }
+          }
+
+    - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0
+      if: github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/please-review')
+      with:
+        script: |
+          github.rest.issues.addLabels({
+            issue_number: context.issue.number,
+            owner: context.repo.owner,
+            repo: context.repo.repo,
+            labels: ["please-review"]
+          })