-
-
Notifications
You must be signed in to change notification settings - Fork 579
213 lines (163 loc) · 9.09 KB
/
autoclose.yml
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
#/
# @license Apache-2.0
#
# Copyright (c) 2024 The Stdlib Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#/
# Workflow name:
name: autoclose
# Workflow triggers:
on:
pull_request_target:
types:
- labeled
# Workflow jobs:
jobs:
# Define a job which closes a pull request if a contributor failed to setup EditorConfig:
editorconfig:
# Define job name:
name: 'Check for EditorConfig label'
# Only run this job if the pull request has a specific label:
if: "${{ github.event.label.name == 'autoclose: EditorConfig' }}"
# Define job permissions:
permissions:
contents: read
pull-requests: write
# Define the type of virtual host machine:
runs-on: ubuntu-latest
# Define the sequence of job steps:
steps:
# Close the pull request:
- name: 'Close pull request'
run: gh pr close "$NUMBER" --comment "$BODY"
env:
GH_TOKEN: ${{ secrets.STDLIB_BOT_GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.pull_request.number }}
BODY: |
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not follow our [contributing guidelines](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md).
Per the guidelines outlined in our [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md), you should download and setup [EditorConfig](http://editorconfig.org/) to ensure that files are automatically configured to use expected indentation and line endings.
If you would prefer to avoid manual setup, you could also consider using a pre-configured [development container](https://github.com/stdlib-js/stdlib/tree/develop/.devcontainer) for use locally or in GitHub Codespaces.
Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions.
# Define a job which closes a pull request if a contributor failed to follow contributing guidelines:
contributor_guidelines:
# Define job name:
name: 'Check for contributor guidelines label'
# Only run this job if the pull request has a specific label:
if: "${{ github.event.label.name == 'autoclose: Contributor Guidelines' }}"
# Define job permissions:
permissions:
contents: read
pull-requests: write
# Define the type of virtual host machine:
runs-on: ubuntu-latest
# Define the sequence of job steps:
steps:
# Close the pull request:
- name: 'Close pull request'
run: gh pr close "$NUMBER" --comment "$BODY"
env:
GH_TOKEN: ${{ secrets.STDLIB_BOT_GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.pull_request.number }}
BODY: |
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not follow our [contributing guidelines](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md).
Per the guidelines outlined in our [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md), you should have setup your local development environment such that automated development processes for linting, license verification, and unit testing can run prior to authoring commits and pushing changes. We encourage you to refer to that guide **before** continuing to work on this pull request.
If you would prefer to avoid manual setup, you could also consider using a pre-configured [development container](https://github.com/stdlib-js/stdlib/tree/develop/.devcontainer) for use locally or in GitHub Codespaces.
Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions.
# Define a job which closes a pull request if a contributor failed to follow project conventions:
project_conventions:
# Define job name:
name: 'Check for project conventions label'
# Only run this job if the pull request has a specific label:
if: "${{ github.event.label.name == 'autoclose: Project Conventions' }}"
# Define job permissions:
permissions:
contents: read
pull-requests: write
# Define the type of virtual host machine:
runs-on: ubuntu-latest
# Define the sequence of job steps:
steps:
# Close the pull request:
- name: 'Close pull request'
run: gh pr close "$NUMBER" --comment "$BODY"
env:
GH_TOKEN: ${{ secrets.STDLIB_BOT_GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.pull_request.number }}
BODY: |
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not follow project conventions.
We place a high value on consistency throughout the stdlib codebase, and this pull request was found to significantly deviate from stdlib conventions. We encourage you to closely examine other packages in stdlib and attempt to emulate the practices and conventions found therein.
- If you are attempting to contribute a new package, sometimes the best approach is to simply copy the contents of an existing package and then modify the minimum amount necessary to implement the feature (e.g., changing descriptions, parameter names, and implementation).
- If you are contributing tests, find a package implementing a similar feature and emulate the tests of that package.
- If you are updating documentation, examine several similar packages and emulate the content, style, and prose of those packages.
In short, the more effort you put in to ensure that your contribution looks and feels like stdlib—including variables names, bracket spacing, line breaks, etc—the more likely that your contribution will be reviewed and ultimately accepted. We encourage you to closely study the codebase **before** continuing to work on this pull request.
Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions.
# Define a job which closes a pull request if a pull request is considered spam:
spam:
# Define job name:
name: 'Check for spam label'
# Only run this job if the pull request has a specific label:
if: "${{ github.event.label.name == 'autoclose: Spam' }}"
# Define job permissions:
permissions:
contents: read
pull-requests: write
# Define the type of virtual host machine:
runs-on: ubuntu-latest
# Define the sequence of job steps:
steps:
# Close the pull request:
- name: 'Close pull request'
run: gh pr close "$NUMBER" --comment "$BODY"
env:
GH_TOKEN: ${{ secrets.STDLIB_BOT_GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.pull_request.number }}
BODY: |
Thank you for working on this pull request. However, we cannot accept your contribution as this pull request does not meet the standards of this project.
Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions.
# Lock pull request conversation:
- name: 'Lock conversation'
run: gh pr lock "$NUMBER" --reason spam
env:
GH_TOKEN: ${{ secrets.STDLIB_BOT_GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.pull_request.number }}
# Define a job which closes a pull request if a pull request is considered stale:
stale:
# Define job name:
name: 'Check for stale label'
# Only run this job if the pull request has a specific label:
if: "${{ github.event.label.name == 'autoclose: Stale' }}"
# Define job permissions:
permissions:
contents: read
issues: write
pull-requests: write
# Define the type of virtual host machine:
runs-on: ubuntu-latest
# Define the sequence of job steps:
steps:
# Close the pull request:
- name: 'Close pull request'
run: gh pr close "$NUMBER" --comment "$BODY"
env:
GH_TOKEN: ${{ secrets.STDLIB_BOT_GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.pull_request.number }}
BODY: |
This pull request has been automatically closed because it has been inactive for an extended period after changes were requested. If you still wish to pursue this contribution, feel free to reopen the pull request or submit a new one.
We appreciate your interest in contributing to stdlib!