You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 24, 2021. It is now read-only.
Copy file name to clipboardExpand all lines: Maintainers.md
+90-39Lines changed: 90 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,14 @@
1
1
# DSC Resource Kit Maintainers
2
2
3
-
Maintainers are trusted contributors with knowledge in a resource module domain who have [write access](https://help.github.com/articles/permission-levels-for-an-organization-repository/) to one or more DSC Resource Kit repositories.
3
+
Maintainers are trusted contributors with knowledge in a resource module domain
4
+
who have [write access](https://help.github.com/articles/permission-levels-for-an-organization-repository/)
5
+
to one or more DSC Resource Kit repositories.
4
6
5
7
Maintainers have the power to:
6
8
7
9
1.`push`.
8
-
2. Merge pull requests.
9
-
3. Assign labels, milestones and people to [issues](https://guides.github.com/features/issues/).
10
+
1. Merge pull requests.
11
+
1. Assign labels, milestones and people to [issues](https://guides.github.com/features/issues/).
10
12
11
13
## Table of Contents
12
14
@@ -112,23 +114,33 @@ and Mariah Breakey ([@mbreakey3](https://github.com/mbreakey3)).
112
114
If you are maintainer, please follow these rules:
113
115
114
116
1.**DO** take care of pull requests in a timely manner.
115
-
1.**DO** ensure that each contributor has signed a valid Contributor License Agreement (CLA).
116
-
1.**DO** reply to new issues and pull requests (after you finish reviewing and everything looks good to you, leave a comment like "Looks good to me" or "LGTM" so we know that someone has looked at it and approved it).
117
+
1.**DO** ensure that each contributor has signed a valid Contributor License
118
+
Agreement (CLA).
119
+
1.**DO** reply to new issues and pull requests (after you finish reviewing and
120
+
everything looks good to you, leave a comment like "Looks good to me" or "LGTM"
121
+
so we know that someone has looked at it and approved it).
117
122
1.**DO** make sure contributors are following the [contributor guidelines](https://github.com/PowerShell/DscResources/blob/master/CONTRIBUTING.md).
118
123
1.**DO** ask people to resend a pull request, if it targets [the wrong branch](CONTRIBUTING.md#lifecycle-of-a-pull-request).
119
124
1.**DO** require people to write Pester tests for all new/changed functionality.
120
-
1.**DO** wait for the [CI system](CONTRIBUTING.md#appveyor) build to pass for pull requests.
121
-
1.**DO** encourage contributors to refer to issues in PR title/description (e.g. `Fixes #11`, or `Closes #11`). Edit title if necessary.
122
-
1.**DO** encourage contributors to create meaningful titles for all PRs. Edit title if necessary.
125
+
1.**DO** wait for the [CI system](CONTRIBUTING.md#appveyor) build to pass for
126
+
pull requests.
127
+
1.**DO** encourage contributors to refer to issues in PR title/description
128
+
(e.g. `Fixes #11`, or `Closes #11`). Edit title if necessary.
129
+
1.**DO** encourage contributors to create meaningful titles for all PRs. Edit
130
+
title if necessary.
123
131
1.**DO** verify that all contributors are following the [style guidelines](https://github.com/PowerShell/DscResources/blob/master/StyleGuidelines.md).
124
-
1.**DO** verify compliance with any third party code license terms (e.g., requiring attribution, etc.) if the contribution contains third party code.
132
+
1.**DO** verify compliance with any third party code license terms (e.g.,
133
+
requiring attribution, etc.) if the contribution contains third party code.
125
134
126
-
1.**DON'T** merge pull requests where the CLA status check (`license/cla`) is pending or the CLA status check is missing (updated by Microsoft CLA bot).
135
+
1.**DON'T** merge pull requests where the CLA status check (`license/cla`) is
136
+
pending or the CLA status check is missing (updated by Microsoft CLA bot).
127
137
1.**DON'T** merge pull requests to **master** branch.
128
138
1.**DON'T** merge pull requests with a failed CI build.
129
-
1.**DON'T** merge pull requests that do not [include all meaningful changes](CONTRIBUTING.md#lifecycle-of-a-pull-request) under the **Unreleased** section in the repository's `README.md` or `CHANGELOG.md`.
139
+
1.**DON'T** merge pull requests that do not [include all meaningful changes](CONTRIBUTING.md#lifecycle-of-a-pull-request)
140
+
under the **Unreleased** section in the repository's `README.md` or `CHANGELOG.md`.
130
141
1.**DON'T** merge your own pull requests before they are reviewed by someone else.
131
-
- If there is **no one** else to review your pull request, please wait **24** hours to merge it in case anyone comes along and has a comment.
142
+
- If there is **no one** else to review your pull request, please wait **24**
143
+
hours to merge it in case anyone comes along and has a comment.
132
144
133
145
## Repeating Tasks
134
146
@@ -175,30 +187,51 @@ Copyright (c) Microsoft Corporation. All rights reserved.
175
187
176
188
#### License File contents
177
189
178
-
The LICENSE file should appear as shown in [LICENSE](https://github.com/PowerShell/DscResources/blob/master/LICENSE), indentation included.
190
+
The LICENSE file should appear as shown in [LICENSE](https://github.com/PowerShell/DscResources/blob/master/LICENSE),
191
+
indentation included.
179
192
180
193
## Issue Workflow
181
194
182
195
1. Someone creates an issue.
183
-
1. A maintainer assigns one of the following labels: ```bug```, ```enhancement```, ```discussion```, ```question```
184
-
1. In some cases, other special labels may be used (e.g. ```module proposal``` for issues requesting new DSC resource modules in the DscResources repository)
185
-
1. If the issue is a duplicate of another issue, the maintainer adds the ```duplicate``` label, references the issue this one is a duplicate of, and closes the issue.
186
-
1. If the issue is external to your module, the maintainer adds the ```external``` label, comments with an explanation of why the issue will not be fixed, and closes the issue.
187
-
1. If for some other reason an issue should not be fixed, the maintainer adds the ```not fixed``` label, comments with an explanation of why the issue will not be fixed, and closes the issue.
188
-
1. A maintainer assigns the ```help wanted``` label to let contributors know this issue needs someone else to look at it
189
-
1. Once a contributor volunteers to work on the issue, the maintainer removes the ```help wanted``` label, adds the ```in progress``` label, and assigns the issue to the volunteer.
190
-
1. Once issue is fixed, the maintainer removes the ```in progress``` label and closes the issue.
196
+
1. A maintainer assigns one of the following labels: ```bug```, ```enhancement```,
197
+
```discussion```, ```question```
198
+
1. In some cases, other special labels may be used (e.g. ```module proposal```
199
+
for issues requesting new DSC resource modules in the DscResources repository)
200
+
1. If the issue is a duplicate of another issue, the maintainer adds the ```duplicate```
201
+
label, references the issue this one is a duplicate of, and closes the issue.
202
+
1. If the issue is external to your module, the maintainer adds the ```external```
203
+
label, comments with an explanation of why the issue will not be fixed, and
204
+
closes the issue.
205
+
1. If for some other reason an issue should not be fixed, the maintainer adds
206
+
the ```not fixed``` label, comments with an explanation of why the issue will
207
+
not be fixed, and closes the issue.
208
+
1. A maintainer assigns the ```help wanted``` label to let contributors know this
209
+
issue needs someone else to look at it
210
+
1. Once a contributor volunteers to work on the issue, the maintainer removes the
211
+
```help wanted``` label, adds the ```in progress``` label, and assigns the issue
212
+
to the volunteer.
213
+
1. Once issue is fixed, the maintainer removes the ```in progress``` label and
214
+
closes the issue.
191
215
192
216
## Pull Request Workflow
193
217
194
218
1. A contributor opens a pull request.
195
-
2. The contributor ensures that their pull request passes the [CI system](CONTRIBUTING.md#appveyor) build.
196
-
- If the build fails, a maintainer adds the `waiting for code fix` label to the pull request. The contributor can then continue to update the pull request until the build passes.
197
-
2. Once the build passes, the maintainer either reviews the pull request immediately or adds the ```needs review``` label.
198
-
3. A maintainer or trusted contributor reviews the pull request code.
199
-
- If the contributor does not meet the reviewer's standards, the reviewer makes comments. A maintainer then removes the the ```needs review``` label and adds the ```waiting for code fix``` label. The contributor must address the comments and repeat from step 2.
200
-
- If the contributor meets the reviewer's standards, the reviewer comments that they are satisfied. A maintainer then removes the the ```needs review``` label.
201
-
3. Once the code review is completed, a maintainer merges the pull request.
219
+
1. The contributor ensures that their pull request passes the [CI system](CONTRIBUTING.md#appveyor)
220
+
build.
221
+
- If the build fails, a maintainer adds the `waiting for code fix` label to the
222
+
pull request. The contributor can then continue to update the pull request
223
+
until the build passes.
224
+
1. Once the build passes, the maintainer either reviews the pull request immediately
225
+
or adds the ```needs review``` label.
226
+
1. A maintainer or trusted contributor reviews the pull request code.
227
+
- If the contributor does not meet the reviewer's standards, the reviewer makes
228
+
comments. A maintainer then removes the the ```needs review``` label and adds
229
+
the ```waiting for code fix``` label. The contributor must address the comments
230
+
and repeat from step 2.
231
+
- If the contributor meets the reviewer's standards, the reviewer comments
232
+
that they are satisfied. A maintainer then removes the the ```needs review```
233
+
label.
234
+
1. Once the code review is completed, a maintainer merges the pull request.
202
235
203
236
### Pull Requests waiting for CLA pass
204
237
@@ -210,31 +243,49 @@ author should be closed.
210
243
211
244
### Abandoned Pull Requests
212
245
213
-
A pull request with the label `waiting for code fix` or `waiting for author response` for **more than 2 weeks** without word from the author is considered abandoned.
246
+
A pull request with the label `waiting for code fix` or `waiting for author response`
247
+
for **more than 2 weeks** without word from the author is considered abandoned.
214
248
215
249
In these cases:
216
250
217
251
1. Ping the author of PR to remind him of pending changes.
218
-
- If the contributor responds, it's no longer an abandoned pull request, proceed as normal.
252
+
- If the contributor responds, it's no longer an abandoned pull request, proceed
253
+
as normal.
219
254
1. If the contributor does not respond **within a week**:
220
-
- If the reviewer's comments are very minor, merge the change, fix the code immediately, and create a new PR with the fixes addressing the minor comments.
221
-
- If the changes required to merge the pull request are significant but needed, create a new branch with the changes and open an issue to merge the code into the dev branch. Mention the original pull request ID in the description of the new issue and close the abandoned pull request.
222
-
- If the changes in an abandoned pull request are no longer needed (e.g. due to refactoring of the codebase or a design change), simply close the pull request.
255
+
- If the reviewer's comments are very minor, merge the change, fix the code
256
+
immediately, and create a new PR with the fixes addressing the minor comments.
257
+
- If the changes required to merge the pull request are significant but needed,
258
+
create a new branch with the changes and open an issue to merge the code into
259
+
the dev branch. Mention the original pull request ID in the description of
260
+
the new issue and close the abandoned pull request.
261
+
- If the changes in an abandoned pull request are no longer needed (e.g. due
262
+
to refactoring of the codebase or a design change), simply close the pull request.
223
263
224
264
## Breaking Changes
265
+
225
266
Breaking changes may be accepted if they make a resource better.
226
267
Breaking changes usually include:
268
+
227
269
- Adding a new mandatory parameter
228
270
- Changing an existing parameter
229
271
- Removing an existing parameter
230
272
- Fundamentally changing an existing functionality of a resource
231
273
232
274
If you need to accept a breaking change in your module please please ensure:
233
-
1. Any issues or PRs associated with the breaking change include the ```breaking change``` label.
234
-
2. At least one of the bullet points in the updated release notes starts with 'BREAKING CHANGE:'.
235
-
3. The title of the PR that includes the breaking change starts with 'BREAKING CHANGE:'.
275
+
276
+
1. Any issues or PRs associated with the breaking change include the
277
+
```breaking change``` label.
278
+
1. At least one of the bullet points in the updated release notes starts with
279
+
'BREAKING CHANGE:'.
280
+
1. The title of the PR that includes the breaking change starts with 'BREAKING CHANGE:'.
236
281
237
282
Upon release, the version of a module with a breaking change will be updated as such:
238
-
* Modules that still have the x... naming are incremented by a full version number if there is a breaking change (2.2.0.0 --> 3.0.0.0). All of these modules are still considered to be in the 'preview' or 'experimental' phase.
239
-
* Modules that have the ...Dsc naming but are still in the 'preview' phase (prior to 1.0.0.0) are incremented only by a sub-version regardless of breaking changes until they are ready to come out of preview (0.3.0.0 --> 0.4.0.0).
240
-
* Modules that have the ...Dsc naming and are out of the 'preview' phase (1.0.0.0 and after) are incremented by a full version number (2.2.0.0 --> 3.0.0.0).
283
+
284
+
- Modules that still have the x... naming are incremented by a full version number
285
+
if there is a breaking change (2.2.0.0 --> 3.0.0.0). All of these modules are
286
+
still considered to be in the 'preview' or 'experimental' phase.
287
+
- Modules that have the ...Dsc naming but are still in the 'preview' phase (prior
288
+
to 1.0.0.0) are incremented only by a sub-version regardless of breaking changes
289
+
until they are ready to come out of preview (0.3.0.0 --> 0.4.0.0).
290
+
- Modules that have the ...Dsc naming and are out of the 'preview' phase (1.0.0.0
291
+
and after) are incremented by a full version number (2.2.0.0 --> 3.0.0.0).
0 commit comments