-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Define roles and their responsibilities in a PR #3168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
TravisEz13
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found no real conceptual issues. Just many grammar issues. Not sure I commented on all of them...
.github/CONTRIBUTING.md
Outdated
| * Author **is responsible** to drive the PR to the Approved state. | ||
| After a successful test pass, Reviewer(s) can start a code review, | ||
| commenting on any changes that might need to be made. | ||
| Author addresses the comments, and ping Reviewer(s) to start the nexe iteration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
spelling nexe should the next
.github/CONTRIBUTING.md
Outdated
| * After a successful test pass, | ||
| the area maintainers will do a code review, | ||
| * Author, Reviewer and Assignee of a PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Author, Reviewer, and Assignee of a PR
.github/CONTRIBUTING.md
Outdated
| * Author, Reviewer and Assignee of a PR | ||
| * Reviewer and Assignee are two separate roles of a PR. | ||
| * A Reviewer can be anyone from the collaborators. | ||
| Reviewer reviews the change of a PR, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unneeded comma
.github/CONTRIBUTING.md
Outdated
| Reviewer reviews the change of a PR, | ||
| leaves comments for Author to address, | ||
| and approve the PR when the change looks good. | ||
| * An Assignee must be a maintainer, who monitors progress of the PR, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing article, should be the progress
.github/CONTRIBUTING.md
Outdated
| and approve the PR when the change looks good. | ||
| * An Assignee must be a maintainer, who monitors progress of the PR, | ||
| coordinates the review process, and merges the PR after it's approved. | ||
| Assignee may or may not be a Reviewer of the PR at the same time. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing article, should be either The assignee or An assignee
.github/CONTRIBUTING.md
Outdated
| * Assignee may be re-assigned by maintainers, | ||
| and more Reviewer(s) may be added by Assignee as appropriate. | ||
| * Author **is responsible** to drive the PR to the Approved state. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing article on Author
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to drive should be for driving
.github/CONTRIBUTING.md
Outdated
| Assignee may or may not be a Reviewer of the PR at the same time. | ||
| * Author is encouraged to choose Reviewer(s) and Assignee for the PR. | ||
| If no Assignee is chosen, one of maintainers will be assigned to it. | ||
| If no Reviewer is chosen, Assignee will choose Reviewer(s) as appropriate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will be assigned to shall be assigned
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will choose to shall choose
|
@TravisEz13 thanks for catching them. I think I fixed them all this time, can you take a look again? |
| * Author, Reviewer, and Assignee of a PR | ||
| * Reviewer and Assignee are two separate roles of a PR. | ||
| * A Reviewer can be anyone from the collaborators. | ||
| A Reviewer reviews the change of a PR, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comma at end of line 175 is not needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I remove that comma, that line will change from
reviews the change of a PR, leaves comments
to
reviews the change of a PR leaves comments
That doesn't seem right, does it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh didn't catch that you were missing an And.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
discussed offline and it looks good .
.github/PULL_REQUEST_TEMPLATE.md
Outdated
| <!-- | ||
| If you are a [PowerShell Team](https://github.com/orgs/PowerShell/people) member, please make sure you choose the Reviewer(s) and Assignee for your PR. | ||
| If you are not, feel free to choose them if you are familiar with the team. Or leave them blank and let maintainers choose them for you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you are not a team member
Replace Or leave with Alternatively,
After Or Replace the first Them with the fields.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Much better. Will fix it.
.github/CONTRIBUTING.md
Outdated
| * After a successful test pass, | ||
| the area maintainers will do a code review, | ||
| * Author, Reviewer, and Assignee of a PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make this heading a little more descriptive? Something like, "Roles of a PR: Author, Reviewer, and Assignee"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is better.
.github/CONTRIBUTING.md
Outdated
| the area maintainers will do a code review, | ||
| * Author, Reviewer, and Assignee of a PR | ||
| * Reviewer and Assignee are two separate roles of a PR. | ||
| * A Reviewer can be anyone from the collaborators. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a little misleading to me. "collaborators" are external people who have special status with the project (Charles, Ilya, Jeff, etc.). Do you mean that anyone can be a reviewer?
On a related note, should we specify that at least one PowerShell team member or a Collaborator must sign off for a review to be Approved?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Contributor is the more generic term
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"collaborators" is the wrong word to use here.
When clicking the "Reviewer" field, is that list of people in fact (team member + collaborator)?
I think the author has the freedom to choose anyone from that list. Assignee needs to decide if the specified reviewer is sufficient. If not, the assignee can add more reviewers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
at least one PowerShell team member or a Collaborator must sign off for a review to be Approved
This information is added. Please take another look.
|
@mirichmo @TravisEz13 the conversation about "collaborators" got hidden by Github, but that comment still stands. |
vors
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tentatively approved
.github/CONTRIBUTING.md
Outdated
| * The Assignee may be re-assigned by maintainers, | ||
| and more Reviewer(s) may be added by Assignee as appropriate. | ||
| * An Author **is responsible** for driving the PR to the Approved state. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Author
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
.github/CONTRIBUTING.md
Outdated
| and more Reviewer(s) may be added by Assignee as appropriate. | ||
| * An Author **is responsible** for driving the PR to the Approved state. | ||
| After a successful test pass, Reviewer(s) can start a code review, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewer can choose to start review before the successful test pass. I think we should re-phrase it to emphasize that reviwer can postpone reviewer, if tests are failing, but can start earlier.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Especially with our flaky tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. Fixed.
| The Author addresses the comments, and pings Reviewer(s) to start the next iteration. | ||
| If the review is making no progress (or very slow), | ||
| the Author can always ask the Assignee to help coordinate the process and keep it moving. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we mention labels that indicates who is currently responsible for the next step?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think labels are more useful to maintainers and less useful to reviewers because a reviewer probably will not look at the PR list very often. So I think it's better that the author pings the reviewers when she/he is ready to start the next review iteration.
andyleejordan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I approve the content of these changes, but agree with Sergei's comments. This is excellent clarification I think.
.github/CONTRIBUTING.md
Outdated
| * After a successful test pass, | ||
| the area maintainers will do a code review, | ||
| * Roles of a PR: Author, Reviewer, and Assignee |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Title should be:
Roles and Responsibilities of a PR: Author, Reviewer, and Assignee
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
.github/CONTRIBUTING.md
Outdated
| the area maintainers will do a code review, | ||
| * Roles of a PR: Author, Reviewer, and Assignee | ||
| * Reviewer and Assignee are two separate roles of a PR. | ||
| * A Reviewer can be anyone from the collaborators. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A Reviewer can be anyone who wants to contribute
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably also mention that PRs with Needs Review label needs a Reviewer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to A Reviewer can be anyone who wants to contribute.
Probably also mention that PRs with Needs Review label needs a Reviewer
Do you mean the Review - Needed label? I'm afraid this label doesn't mean a reviewer needs to be assigned to a PR. I explicitly requested reviewers in #3170, but the Review - Needed label still got added to that PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I meant Review - Needed. I was told (forgot by whom) that was what this label meant. If not, we should document what exactly this label means (the current docs just has a link another doc without really defining this label)
.github/CONTRIBUTING.md
Outdated
| A Reviewer reviews the change of a PR, | ||
| leaves comments for the Author to address, | ||
| and approves the PR when the change looks good. | ||
| * An Assignee must be a maintainer, who monitors the progress of the PR, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maintainer should be caps, add link to https://github.com/PowerShell/PowerShell/tree/master/docs/maintainers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
.github/CONTRIBUTING.md
Outdated
| leaves comments for the Author to address, | ||
| and approves the PR when the change looks good. | ||
| * An Assignee must be a maintainer, who monitors the progress of the PR, | ||
| coordinates the review process, and merges the PR after it's approved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"after it's been approved"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
|
Hi Reviewers, I think I have addressed all the comments, can you please take another look? |
joeyaiello
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a huge deal if these tweaks get made before merge, but if you have the chance, it'd be awesome to fix them.
Overall, this looks awesome and provides some much needed clarity with the process.
.github/PULL_REQUEST_TEMPLATE.md
Outdated
| <!-- | ||
| If you are a [PowerShell Team](https://github.com/orgs/PowerShell/people) member, please make sure you choose the Reviewer(s) and Assignee for your PR. | ||
| If you are not, feel free to choose them if you are familiar with the team. Alternatively, leave the fields blank and let maintainers choose them for you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would switch this sentence around as the "familiar" path is less likely. So something like:
If you are not part of the PowerShell Team, you can leave the fields blank and the Maintainers will choose them for you. If you are familiar with the team, feel free to add some Reviewers yourself.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
.github/CONTRIBUTING.md
Outdated
| * An Assignee must be a [Maintainer](../docs/maintainers), who monitors the progress of the PR, | ||
| coordinates the review process, and merges the PR after it's been approved. | ||
| The Assignee may or may not be a Reviewer of the PR at the same time. | ||
| * An Author is encouraged to choose Reviewer(s) and Assignee for the PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and an Assignee
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
.github/CONTRIBUTING.md
Outdated
| coordinates the review process, and merges the PR after it's been approved. | ||
| The Assignee may or may not be a Reviewer of the PR at the same time. | ||
| * An Author is encouraged to choose Reviewer(s) and Assignee for the PR. | ||
| If no Assignee is chosen, one of Maintainers shall be assigned to it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one of the Maintainers...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
.github/CONTRIBUTING.md
Outdated
| The Assignee may or may not be a Reviewer of the PR at the same time. | ||
| * An Author is encouraged to choose Reviewer(s) and Assignee for the PR. | ||
| If no Assignee is chosen, one of Maintainers shall be assigned to it. | ||
| If no Reviewer is chosen, Assignee shall choose Reviewer(s) as appropriate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is chosen, the Assignee
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
.github/CONTRIBUTING.md
Outdated
| If no Assignee is chosen, one of Maintainers shall be assigned to it. | ||
| If no Reviewer is chosen, Assignee shall choose Reviewer(s) as appropriate. | ||
| * If an Author is a [PowerShell Team](https://github.com/orgs/PowerShell/people) member, | ||
| then the Author **is required** to choose Reviewer(s) and Assignee of the PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to choose Reviewer(s) and an Assignee for the PR
.github/CONTRIBUTING.md
Outdated
| * If an Author is a [PowerShell Team](https://github.com/orgs/PowerShell/people) member, | ||
| then the Author **is required** to choose Reviewer(s) and Assignee of the PR. | ||
| * For a PR to be merged, it must be approved by at least one PowerShell Team member or Collaborator, | ||
| so additional Reviewer(s) may be added by Assignee as appropriate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
by the Assignee as appropriate
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
|
@joeyaiello Thanks for the review! I have addressed your comments. Please take another look. |
joeyaiello
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
.github/CONTRIBUTING.md
Outdated
| If no Reviewer is chosen, the Assignee shall choose Reviewer(s) as appropriate. | ||
| * If an Author is a [PowerShell Team](https://github.com/orgs/PowerShell/people) member, | ||
| then the Author **is required** to choose Reviewer(s) and an Assignee for the PR. | ||
| * For a PR to be merged, it must be approved by at least one PowerShell Team member or collaborator, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Collaborator should have a capital 'C' as it's a specific group
|
I can not to choose Reviewer(s) and Assignee for my PR 😕 |
|
@iSazonov hmm, I didn't know about that ... so I guess then all non-powershell-team users cannot choose Reviewer and Assignee? @TravisEz13 do you happen to know if that's the case? @SteveL-MSFT, the |
|
@daxian-dbw I just submitted a review to PSScriptAnalyzer and I cannot even assign a reviewer there. |
|
@daxian-dbw Yes, it is. Personally for me it is not a problem. I can always make a ping by "/cc". |
Reviewer and Assignee of a PR should be separate roles.
When submitting a new PR, the author is encouraged to choose Reviewer(s) and Assignee for the PR. If either Reviewer or Assignee is left blank, maintainers will choose them for the PR.
However, for PowerShell Team members, You are required to choose them yourself for the PR.
Note that, even if you are not designated as a Reviewer for a PR, you can still feel free to jump in and review the change.
The PR author is responsible to drive the PR to the Approved state. The author should ping the reviewer(s) when they don't respond timely enough (or event talk to them if you can). If the review process is making no progress (or too slow), the author can always contact the Assignee to help coordinate the process, for example, if the reviewer(s) don't respond back for too long, the Assignee can review the existing comments and decide if the PR is in good state or a new reviewer should be pulled in.
A template will be added to pull request, to remind the author to choose Reviewer(s) and Assignee for the PR.