-
Notifications
You must be signed in to change notification settings - Fork 919
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
Revise PR template. #10774
Revise PR template. #10774
Conversation
## Checklist | ||
- [ ] I am familiar with the [Contributing Guidelines](https://github.com/rapidsai/cudf/blob/HEAD/CONTRIBUTING.md). | ||
- [ ] New or existing tests cover these changes. | ||
- [ ] The documentation is up to date with these changes. |
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.
Two additional things came to mind. Feel free to push back on these ideas.
## Checklist | |
- [ ] I am familiar with the [Contributing Guidelines](https://github.com/rapidsai/cudf/blob/HEAD/CONTRIBUTING.md). | |
- [ ] New or existing tests cover these changes. | |
- [ ] The documentation is up to date with these changes. | |
## Checklist | |
- [ ] I am familiar with the [Contributing Guidelines](https://github.com/rapidsai/cudf/blob/HEAD/CONTRIBUTING.md). | |
- [ ] New or existing tests cover these changes. | |
- [ ] New or existing benchmarks cover these changes. | |
- [ ] The documentation is up to date with these changes. | |
- This change is: | |
- [ ] Breaking | |
- [ ] Non-breaking |
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 support mentioning benchmarks in principle -- with the caveat that C++ has the best benchmarking at present, the Python benchmarks are somewhat outdated, and no Java benchmarks exist to my knowledge. I wasn't certain what to do with that.
Breaking/non-breaking is already handled by labels, and the CI requires us to label one or the other. I don't think it is necessary to input that information twice.
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.
IMO tests are going to be much more frequent additions than benchmarks (the latter is typically for new features)
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.
we already have a breaking/non-breaking label requirement for PRs. But it's nice to have it part of template too.
Same comment for category of the PR, (it's hard right now to find which labels are categories), that could be checklist point too.
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 strongly discourage duplicating information in the template and labels. The overhead of every checkbox / button adds up. However, I do agree that our categories are hard to locate. This is the official reference, but I don't think it's linked anywhere in the cuDF repository: https://docs.rapids.ai/resources/label-checker/#summary
My preferred solution would be if the CI Label Checker output message said "Missing category label (bug, doc, feature request, improvement)".
Though on second thought, why is "feature request" a supported pull request category? Sounds like it should only apply to issues...
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 like this idea. category: doc
is longer, but it's a lot easier to distinguish the special category labels. However, the bot's label checker would need to be adapted.
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 am not suggesting to include "category" in label itself (also a good idea). Just in description text of the label. That is enough for search to filter "category" when we type "category".
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.
Aha! The description would be a good compromise because it doesn’t require changing bot logic.
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.
could @rapidsai/admins or @rapidsai/cudf-admin update this?
add "category" to the description text of the following labels: bug, doc, feature request, improvement.
This allows easily identifying the category labels during PR creation, by simply typing "category" in label box.
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’d still like to see the word “category” added to those labels’ descriptions but that can be done separately from this 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.
Could possibly port some of the culled text into contributing?
7. Once all work has been done and review has taken place please do not add | ||
features or make changes out of the scope of those requested by the reviewer | ||
(doing this just add delays as already reviewed code ends up having to be | ||
re-reviewed/it is hard to tell what is new etc!). Further, please do not | ||
rebase your branch on the target branch, force push, or rewrite history. | ||
Doing any of these causes the context of any comments made by reviewers to be lost. | ||
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. |
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 part of the advice arguably could be ported into CONTRIBUTING.md
. This seems like useful workflow information for contributors (especially new ones). IIUC, cudf uses squash-merges for PRs, so fixing up commits in response to review is not necessary for a clean commit history (and, as noted here, can hinder in the case of multiple rounds of reivew).
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.
For example, my previous experience just led me to do rebase/fixups of PRs I recently opened in UCX-Py, but that made reviewing harder, and the squash-merge meant that in some senses it was pointless at the end of the day anyway.
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 considered moving this in the CONTRIBUTING guide but wasn't sure where to put it, or whether it could be condensed. Would you put it in this list? Below the list? https://github.com/rapidsai/cudf/blob/branch-22.06/CONTRIBUTING.md#your-first-issue Overall, the "workflow" information in the existing template felt outdated and heavy-handed in some cases.
Several developers (including myself) make use of amending commits, force-pushing, and rebasing to keep PRs clean for review, even though squash-merging reduces the benefit. I haven't personally experienced comments being lost from rebasing in the last few months, so it's possible that GitHub has improved its handling of these situations. I would be happy to hear from others if that's not the case.
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 that if it's outdated then there's no real reason to include it. I agree that github seems to be better than a few years ago at handling this kind of code movement (I don't recall having comments resolved by rebase and github losing track for a while).
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.
As I think about this more, this suggests an opportunity to rework some of the CONTRIBUTING guide. The differentiation between "Your First Issue" and "Seasoned Developers" is irrelevant and a little presumptive. It'd be clearer to write something like "Development workflow" and "Project planning and organization", and incorporate tips about draft PRs, etc. To keep this focused, I will create a separate PR for the CONTRIBUTING guide before resolving this thread.
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.
Comments are not lost when you force push, but they can be disassociated from the code when the commit they refer to is lost. You can no longer see the code they are referring to when you click on the file link at the top of the comment.
I believe it would also be possible to lose changes from other contributors or changes made via the github UI (e.g. via code review suggestions).
This is why I recommended we have a rule against force pushing once a PR is under review. I have had force pushes disrupt reviews multiple times. It's especially bad with large PRs where the reviewer may take multiple passes to review. I believe the rule/suggestion should continue to be documented.
As the above linked SO answer suggests,
When you really need to do a force push, you can always create a new pull request, which is much safer and keeps away annoying problems
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 wish these templates and docs were RAPIDS-wide rather than specific to cuDF.
Co-authored-by: Jake Hemstad <[email protected]>
@jrhemstad @shwina @wence- @karthikeyann Thank you very much for your thoughtful input! I opened this PR for review. I have two action items in mind, outside the scope of this PR:
For now, I'm seeking approval on the language of the PR template. I will hold off on merging this until we have the aforementioned items complete (or in 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.
I think the proposed changes look good. If wanting to include information about benchmark/test coverage perhaps the contributing guide should say how to check? I think codecov will comment on code that is not covered by the tests, but I don't know how to check that benchmarks cover what I add (and I did look!)
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 👍
benchmarks are not run as part of CI right now. |
This PR has been labeled |
FYI, I just merged @karthikeyann's PR below. Those changes are now deployed and incorporated into the auto-merger. |
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.
Approved now that rapidsai/ops-bot#103 is merged and deployed.
rerun tests |
Codecov Report
@@ Coverage Diff @@
## branch-22.08 #10774 +/- ##
===============================================
Coverage ? 86.31%
===============================================
Files ? 144
Lines ? 22748
Branches ? 0
===============================================
Hits ? 19636
Misses ? 3112
Partials ? 0 Continue to review full report at Codecov.
|
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'm going to merge this, since it has 4 approvals. I will leave the adjacent conversations open, which are not in scope for this PR.
@gpucibot merge |
This PR simplifies the Pull request template to be identical to the new simpler template used by cuDF, adding in #rapidsai/cudf#10774 Closes #602 Authors: - Mark Harris (https://github.com/harrism) Approvers: - AJ Schmidt (https://github.com/ajschmidt8) - Bradley Dice (https://github.com/bdice) URL: #617
Simplifies PR template to match recent updates for cuDF, cuSpatial. See rapidsai/cudf#10774, rapidsai/cuspatial#617. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Mark Harris (https://github.com/harrism) - Jake Hemstad (https://github.com/jrhemstad) - AJ Schmidt (https://github.com/ajschmidt8) URL: #1080
Description
I recently revamped our cuDF CONTRIBUTING guide. I would like to consider replacing the current PR template (which has a fairly daunting amount of text that is immediately deleted by many contributors) with a short checklist of actionable items and a reference to the CONTRIBUTING guide for longer content.
I kept this draft very minimal. Reviewers can see other examples here for inspiration: https://axolo.co/blog/p/part-3-github-pull-request-template. Happy to crowdsource others' thoughts here.
Checklist