Skip to content
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

Mention 2 cpp-reviewer requirement in pull request template #10768

Merged
merged 3 commits into from
May 10, 2022

Conversation

davidwendt
Copy link
Contributor

Although 2 cpp reviewers are automatically assigned to a PR, there is no documentation that indicates 2 are required. This PR adds to the list of guidelines in the Pull Request Template that appears when a PR is created through the github web page.

@davidwendt davidwendt added 3 - Ready for Review Ready for review by team improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels May 2, 2022
@davidwendt davidwendt requested a review from a team as a code owner May 2, 2022 13:29
@davidwendt davidwendt self-assigned this May 2, 2022
.github/PULL_REQUEST_TEMPLATE.md Outdated Show resolved Hide resolved
@@ -47,6 +47,10 @@ Here are some guidelines to help the review process go smoothly.
If conflicts occur against the target branch they should be resolved by
merging the target branch into the branch used for making the pull request.

8. Pull requests that modify cpp source that are marked ready for review
will automatically be assign two cudf-cpp-codeowners reviewers.
Ensure at least two approvals from cudf-cpp-codeowners before merging.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this something that the submitter needs to worry about, or is it rather the responsibility of the eventual merger?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both I think.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it's part of the PR workflow, however, it's easy to forget the instructions in the template (since I guess one deletes it and replaces it with the PR summary). At least for me, in the github web UI it's rather hard to see which approving reviews would match this criterion. e.g. looking at #10761 one has to mouse over the individual usernames to see which groups they belong to (and then figure out if the criteria are met). WDYT?

I wonder if the automerging functionality of @rapids-ops-bot can be augmented to apply the criteria, and then this instruction would say something like: "Pull requests that modify cpp source require at least two approvals from cudf-cpp-codeowners before merge."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The assignments are automatic although somewhat random. So you will have 2 cpp reviewers assigned if you modify cpp files. You are on your honor to not ignore these and to merge with 2 approvals. This is not something that can be enforced through the merger at this time so I felt it should be at least documented in this template.

Along with the mouse hover, you can see was assigned in the PR stream. For example here is where the assignments occurred in #10761
image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because this rule is specific to C++ developers and not all of the repository, I would recommend putting this in the C++ Developer Guide. I share the concern that the PR template is likely to be missed / deleted.

Additionally, the requirement of two C++ reviews does not affect the actions of an external contributor who is submitting a PR since a RAPIDS developer will be the one responsible for review and merge. I view external contributors as the primary readers of the PR template, since experienced developers on the RAPIDS team probably pay it no attention.

Eventually I would like to minimize the long comments in this PR template and replace it with a checklist style of PR template that gives all contributors actionable items. Examples:

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, makes sense given the current merger restrictions.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I opened a draft #10774 for revising the PR template content and would be happy to hear your thoughts. I recognize it conflicts with this PR's changes to the template, so I apologize in advance!

@davidwendt davidwendt added doc Documentation and removed improvement Improvement / enhancement to an existing function labels May 3, 2022
@codecov
Copy link

codecov bot commented May 3, 2022

Codecov Report

Merging #10768 (7dc8584) into branch-22.06 (a9eb47c) will increase coverage by 0.03%.
The diff coverage is n/a.

❗ Current head 7dc8584 differs from pull request most recent head c9f5493. Consider uploading reports for the commit c9f5493 to get more accurate results

@@               Coverage Diff                @@
##           branch-22.06   #10768      +/-   ##
================================================
+ Coverage         86.40%   86.43%   +0.03%     
================================================
  Files               143      143              
  Lines             22448    22448              
================================================
+ Hits              19396    19403       +7     
+ Misses             3052     3045       -7     
Impacted Files Coverage Δ
python/cudf/cudf/core/dataframe.py 93.74% <0.00%> (+0.04%) ⬆️
python/cudf/cudf/core/column/string.py 89.21% <0.00%> (+0.12%) ⬆️
python/cudf/cudf/core/groupby/groupby.py 91.79% <0.00%> (+0.22%) ⬆️
python/cudf/cudf/core/column/numerical.py 96.17% <0.00%> (+0.29%) ⬆️
python/cudf/cudf/core/tools/datetimes.py 84.49% <0.00%> (+0.30%) ⬆️
python/cudf/cudf/core/column/lists.py 92.91% <0.00%> (+0.83%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a9eb47c...c9f5493. Read the comment docs.

Copy link
Contributor

@bdice bdice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. This will be helpful at least until #10774 and a second PR I'm planning to improve the CONTRIBUTING guide are complete.

@davidwendt
Copy link
Contributor Author

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 1519108 into rapidsai:branch-22.06 May 10, 2022
@davidwendt davidwendt deleted the cpp-2-reviewer-pull-req branch May 10, 2022 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - Ready for Review Ready for review by team doc Documentation non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants