]> git.ipfire.org Git - thirdparty/systemd.git/blob - .github/workflows/labeler.yml
Merge pull request #25168 from valentindavid/valentindavid/umount-move-recursive...
[thirdparty/systemd.git] / .github / workflows / labeler.yml
1 ---
2 # vi: ts=2 sw=2 et:
3 # SPDX-License-Identifier: LGPL-2.1-or-later
4 #
5 name: "Pull Request Labeler"
6
7 on:
8 pull_request_target:
9 types: [opened, synchronize, reopened, ready_for_review, closed]
10 issue_comment:
11 types: [created]
12
13 permissions:
14 contents: read
15
16 jobs:
17 triage:
18 if: github.repository == 'systemd/systemd'
19 runs-on: ubuntu-latest
20 permissions:
21 pull-requests: write
22 steps:
23 - uses: actions/labeler@e54e5b338fbd6e6cdb5d60f51c22335fc57c401e
24 if: github.event_name == 'pull_request_target' && github.event.action != 'closed'
25 with:
26 repo-token: "${{ secrets.GITHUB_TOKEN }}"
27 configuration-path: .github/labeler.yml
28 sync-labels: "" # This is a workaround for issue 18671
29
30 - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0
31 if: github.event_name == 'pull_request_target' && github.event.action != 'closed' && !github.event.pull_request.draft
32 with:
33 script: |
34 response = await github.rest.issues.listLabelsOnIssue({
35 issue_number: context.issue.number,
36 owner: context.repo.owner,
37 repo: context.repo.repo,
38 });
39
40 good_to_merge = [
41 "good-to-merge/waiting-for-ci 👍",
42 "good-to-merge/after-next-release",
43 "good-to-merge/with-minor-suggestions",
44 "good-to-merge/waiting-for-reporter-feedback 👍",
45 ];
46
47 if (response.data.every(l => !good_to_merge.includes(l.name))) {
48 await github.rest.issues.addLabels({
49 issue_number: context.issue.number,
50 owner: context.repo.owner,
51 repo: context.repo.repo,
52 labels: ["please-review"]
53 });
54 }
55
56 for (const label of ["reviewed/needs-rework 🔨",
57 "ci-fails/needs-rework 🔥",
58 "ci-failure-appears-unrelated",
59 "needs-rebase"]) {
60 try {
61 await github.rest.issues.removeLabel({
62 issue_number: context.issue.number,
63 owner: context.repo.owner,
64 repo: context.repo.repo,
65 name: label,
66 });
67 } catch (err) {
68 if (err.status != 404) {
69 throw err;
70 }
71 }
72 }
73
74 - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0
75 if: github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/please-review')
76 with:
77 script: |
78 await github.rest.issues.addLabels({
79 issue_number: context.issue.number,
80 owner: context.repo.owner,
81 repo: context.repo.repo,
82 labels: ["please-review"]
83 })
84
85 - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0
86 if: github.event_name == 'pull_request_target' && github.event.action == 'closed' && github.event.issue.pull_request
87 with:
88 script: |
89 for (const label of ["please-review",
90 "reviewed/needs-rework 🔨",
91 "ci-fails/needs-rework 🔥",
92 "needs-rebase",
93 "good-to-merge/waiting-for-ci 👍",
94 "good-to-merge/after-next-release",
95 "good-to-merge/with-minor-suggestions",
96 "good-to-merge/waiting-for-reporter-feedback 👍",
97 "needs-discussion 🤔",
98 "needs-reporter-feedback ❓",
99 "dont-merge",
100 "squash-on-merge,
101 "quick-review"]) {
102 try {
103 await github.rest.issues.removeLabel({
104 issue_number: context.issue.number,
105 owner: context.repo.owner,
106 repo: context.repo.repo,
107 name: label,
108 });
109 } catch (err) {
110 if (err.status != 404) {
111 throw err;
112 }
113 }
114 }