PowerShell/docs/maintainers
2016-07-28 14:40:34 -07:00
..
issue-management-process.md Drafted update to contribution guidelines 2016-07-19 16:36:08 -07:00
pull-request-rules.md Fix broken links 2016-07-24 09:55:10 -07:00
README.md Make maintainers.md the tree's README.md 2016-07-28 11:15:42 -07:00
releasing.md Update releasing documentation 2016-07-28 14:40:34 -07:00

PowerShell Maintainers

Maintainers (a.k.a. coordinators) are trusted people with knowledge in the PowerShell domain.

They have write access to the PowerShell repositories which gives them the power to:

  1. push.
  2. Merge pull requests.
  3. Assign labels, milestones, and people to issues.

Table of Contents

Rules

If you are maintainer, please follow these rules:

  1. DO reply to new issues and pull requests (while reviewing PRs, leave your comment even if everything looks good - simple "Looks good to me" or "LGTM" will suffice, so that we know someone has already taken a look at it).

  2. DO make sure contributors are following the contributor guidelines.

  3. DO ask people to resend a pull request, if it targets the wrong branch.

  4. DO encourage people to write Pester tests for all new/changed functionality.

  5. DO wait for the CI system build to pass for pull requests.

  6. DO encourage contributors to refer to issues in PR title/description (e.g. Closes #11). Edit title if necessary.

  7. DO encourage contributors to create meaningful titles for all PRs. Edit title if necessary.

  8. DO verify that all contributors are following the Coding Guidlines.

  9. DO ensure that each contributor has signed a valid Contributor License Agreement (CLA).

  10. DO verify compliance with any third party code license terms (e.g., requiring attribution, etc.) if the contribution contains third party code.

  11. DON'T merge pull requests with a failed CI build.

  12. DON'T merge pull requests without the label cla-signed or cla-not-required from the Microsoft CLA bot.

  13. DON'T merge pull requests that do not include all meaningful changes under the Unreleased section in the repository's CHANGELOG.md.

  14. DON'T merge your own pull requests before they are reviewed by someone else.

  • 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.

Issue Management Process

Please see Issue Management Process

Pull Request Workflow

  1. A contributor opens a pull request.
  2. The contributor ensures that their pull request passes the CI system build.
  • If the build fails, a maintainer adds the waiting for author label to the pull request. The contributor can then continue to update the pull request until the build passes.
  1. Once the build passes, the maintainer either reviews the pull request immediately or adds the need review label.
  2. A maintainer or trusted contributor reviews the pull request code.
  • If the contributor does not meet the reviewer's standards, the reviewer makes comments. A maintainer then removes the need review label and adds the waiting for author label. The contributor must address the comments and repeat from step 2.
  • If the contributor meets the reviewer's standards, the reviewer comments that they are satisfied. A maintainer then removes the need review label.
  1. Once the code review is completed, a maintainer merges the pull request.

Abandoned Pull Requests

A pull request with the label waiting for the author for more than two weeks without a word from the author is considered abandoned.

In these cases:

  1. Ping the author of PR to remind him of pending changes.
  • If the contributor responds, it's no longer an abandoned pull request, proceed as normal.
  1. If the contributor does not respond within a week:
  • 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.
  • 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.
  • If the changes in an abandoned pull request are no longer needed (e.g. due to refactoring of the code base or a design change), simply close the pull request.