File: open-bot.yaml

package info (click to toggle)
node-webpack 5.97.1%2Bdfsg1%2B~cs11.18.27-3
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 59,064 kB
  • sloc: javascript: 185,073; makefile: 16; sh: 6
file content (327 lines) | stat: -rw-r--r-- 8,705 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
bot: "webpack-bot"
rules:
  # add conflict label to pull requests with conflict
  # on conflict all result labels are removed
  - filters:
      open: true
      pull_request:
        mergeable: false
    actions:
      label:
        add: "PR: conflict"
  - filters:
      open: true
      pull_request:
        mergeable: true
    actions:
      label:
        remove: "PR: conflict"

  # add unreviewed, reviewed, review-outdated labels
  # comment to ping reviewer
  # comment on new PR
  - filters:
      open: true
      in_order:
        commit: true
        review:
          state: APPROVED|CHANGES_REQUESTED
      ensure:
        value: "{{review.state}}"
        equals: APPROVED
      permission:
        user: "{{review.user.login}}"
    actions:
      label:
        add: "PR: reviewed-approved"
        remove:
          - "PR: review-outdated"
          - "PR: unreviewed"
          - "PR: reviewed"
  - filters:
      open: true
      in_order:
        commit: true
        review:
          state: APPROVED|CHANGES_REQUESTED
      permission:
        user: "{{review.user.login}}"
      ensure:
        value: "{{review.state}}"
        equals: CHANGES_REQUESTED
    actions:
      label:
        add: "PR: reviewed-changes-requested"
        remove:
          - "PR: review-outdated"
          - "PR: unreviewed"
          - "PR: reviewed"
  - filters:
      open: true
      in_order:
        review:
          state: APPROVED|CHANGES_REQUESTED
        commit: true
      permission:
        user: "{{review.user.login}}"
      not:
        label: "review-outdated"
      ensure:
        value: "{{commit.author.login}}"
        notEquals: "{{review.user.login}}"
    actions:
      label:
        add: "PR: review-outdated"
        remove:
          - "PR: reviewed-approved"
          - "PR: reviewed-changes-requested"
          - "PR: unreviewed"
          - "PR: reviewed"
      comment:
        identifier: "review-outdated"
        message: |-
          @{{commit.author.login}} Thanks for your update.

          I labeled the Pull Request so reviewers will review it again.

          @{{review.user.login}} Please review the new changes.
  - filters:
      open: true
      commit: true
      not:
        review:
          state: APPROVED|CHANGES_REQUESTED
    actions:
      label: "PR: unreviewed"

  # add non-main, dev-1, webpack-4 and next label to pull request to other branch
  - filters:
      pull_request:
        base_ref: "^main$"
    actions:
      label:
        remove:
          - "PR: next"
          - "PR: dev-1"
          - "PR: webpack-4"
          - "PR: non-main"
  - filters:
      pull_request:
        base_ref: "^dev-1$"
    actions:
      label:
        add: "PR: dev-1"
        remove:
          - "PR: next"
          - "PR: webpack-4"
          - "PR: non-main"
  - filters:
      pull_request:
        base_ref: "^next$"
    actions:
      label:
        add: "PR: next"
        remove:
          - "PR: dev-1"
          - "PR: webpack-4"
          - "PR: non-main"
  - filters:
      pull_request:
        base_ref: "^webpack-4$"
    actions:
      label:
        add: "PR: webpack-4"
        remove:
          - "PR: dev-1"
          - "PR: next"
          - "PR: non-main"
  - filters:
      pull_request:
        base_ref: "^(?!main$)(?!webpack-4$)(?!next$)"
    actions:
      label:
        add: "PR: non-main"
        remove:
          - "PR: dev-1"
          - "PR: next"
          - "PR: webpack-4"

  # show hint about contributing
  - filters:
      open: true
      age:
        minimum: 1d
        maximum: 1w
      pull_request:
        head_ref: "^main$"
      permission: "read|none"
    actions:
      comment:
        identifier: "head-main"
        edit: true
        message: |-
          Hi @{{pull_request.user.login}}.

          Just a little hint from a friendly bot about the best practice when submitting pull requests:

          > Don't submit pull request from your own `main` branch. It's recommended to create a feature branch for the PR.

          *You don't have to change it for this PR, just make sure to follow this hint the next time you submit a PR.*

  # add "Send a PR" label when somebody with write permission say it
  - filters:
      open: true
      comment: "[Ss]end a [Pp][Rr]"
      permission:
        user: "{{comment.actor.login}}"
    actions:
      label: "Send a PR"

  # Move issue task
  - filters:
      open: true
      comment: "\\s*@webpack-bot\\s+move\\s+(?:to\\s+)?([a-z0-9_\\-\\.]+/[a-z0-9_\\-\\.]+)\\s*([\\s\\S]*)$"
      not:
        comment_1:
          matching: "moved\\-by\\-bot"
          author: "."
      permission:
        user: "{{comment.actor.login}}"
    actions:
      new_issue:
        target: "{{{comment_match.[1]}}}"
        body: |-
          {{{issue.body}}}

          ---

          This issue was moved from {{owner}}/{{repo}}#{{issue.number}} by @{{comment.actor.login}}. Original issue was by @{{issue.user.login}}.

          {{{comment_match.[2]}}}
      comment:
        identifier: moved-by-bot
        message: |-
          I've moved it to {{comment_match.[1]}}.
      close: true

  # mark inactive issues with inactive label
  # close them when no activity after warning
  - filters:
      issue: true
      open: true
      not:
        label: inactive
      ensure:
        value: "{{issue.reactions.[+1]}}"
        range: "< 10"
      last_action_age: 13w # three months
    actions:
      comment:
        identifier: inactive-warning
        message: |-
          **This issue had no activity for at least three months.**

          It's subject to automatic issue closing if there is no activity in the next 15 days.
      label: inactive
  - filters:
      open: true
      label: inactive
      last_action_age:
        maximum: 13w # three months
    actions:
      label:
        remove:
          - inactive
  - filters:
      open: true
      label: inactive
      last_action_age:
        minimum: 15d
        includeBotActions: true
    actions:
      close: true
      comment:
        identifier: inactive-close
        message: |-
          Issue was closed because of inactivity.

          If you think this is still a valid issue, please file a new issue with additional information.

  # Add action actions box to each pull request
  - filters:
      pull_request: true
      open: true
      not:
        comment:
          matching: admin-actions
          author: webpack-bot
    actions:
      comment:
        identifier: admin-actions
        message: |-
          *For maintainers only:*

          * [ ] <!-- document --> This needs to be documented (issue in webpack/webpack.js.org will be filed when merged)
          * [ ] <!-- webpack-4-backport --> This needs to be backported to webpack 4 (issue will be created when merged)

  # When a pull request need to be documented, create an issue in webpack/webpack.js.org when merged
  - filters:
      pull_request:
        merged: true
      comment:
        author: webpack-bot
        matching: "\\* \\[x\\] <!-- document -->"
      not:
        comment_1:
          author: webpack-bot
          matching: admin-action-document-executed
    actions:
      new_issue:
        target: webpack/webpack.js.org
        title: "Document webpack change: {{{pull_request.title}}}"
        body: |-
          <!-- documentation request from webpack/webpack -->

          *A pull request by @{{pull_request.user.login}} was merged and maintainers requested a documentation change.*

          See pull request: {{{pull_request.html_url}}}

          ---

          {{{pull_request.body}}}
      comment:
        identifier: admin-action-document-executed
        message: |-
          I've created an issue to document this in webpack/webpack.js.org.

  # When a pull request need to be backported, create an issue in webpack/webpack when merged
  - filters:
      pull_request:
        merged: true
      comment:
        author: webpack-bot
        matching: "\\* \\[x\\] <!-- webpack-4-backport -->"
      not:
        comment_1:
          author: webpack-bot
          matching: admin-action-webpack-4-backport-executed
    actions:
      new_issue:
        target: webpack/webpack
        title: "Backport to webpack 4: {{{pull_request.title}}}"
        body: |-
          {{{pull_request.html_url}}} needs to be backported to webpack 4.

          Send a PR.

          cc @{{pull_request.user.login}}
      comment:
        identifier: admin-action-webpack-4-backport-executed
        message: |-
          I've created an issue to backport this.

  # Check open issues and pull requests every day
  - filters:
      open: true
    actions:
      schedule: 1d