-
Notifications
You must be signed in to change notification settings - Fork 325
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
Discussion for enriching the PR template #990
Comments
@mdelapenya Thanks for putting efforts into that. As for the checklist- the |
Yeah, I totally agree. With this template we don't want to mandatorily add those sections. It's a proposal we consider it valid to gather as much information for the review process.
I like the idea! We can explain instead how to label this issue. Thanks!
I get your point for the title Vs "Why is it important" discussion. While the title uses to be regularly short, this section brings the opportunity to explain the purpose very detailedly, like in the second part of a git commit. That's why we consider the "What" and "Why" sections very important.
Totally agree in this point about checklist length. Let's try to keep it simple, and all the same time trying to get as much information about the topics that could cause a quality loss when they are missing: running the tests, don't forget to update the docs, code format, etc. I'd appreciate here if you help us in defining the checklist. For the other sections, which of them would you keep because they seems valid for you? |
Maybe also a hint as to how to name the PR.
I suggest we start by removing Other (recommended and optional) sections seem useful to me. The idea is that people will be required to do as little as possible stuff that don't directly contribute to improvement. |
Yeah totally agree. Being an open source project we have to make contributions super smooth. That's my concern too. I can elaborate a PR based on the above structure, BUT:
Thanks for such a great feedback @eyalkoren, it's.. |
From my perspective, we can also remove these boxes:
We're currently not super-strict with warnings, especially around Javadocs.
Integration tests take quite a while to run and require downloading loads of docker containers. I usually never execute those locally, unless I expect issues in a specific one. Normally, I offload that to Jenkins. Sometimes I'm even doing that for unit tests but it still might make sense to leave that step there. However, adding a link to https://github.com/elastic/apm-agent-java/blob/master/CONTRIBUTING.md#testing would be nice. In general, we don't often have the case that we get a PR and we don't know about what it does or why it is important. Usually, we have a discussion in an issue before a PR is raised and I think this is how it's supposed to be. Just as months of coding can save hours of planning, it makes sense, especially for external contributors, to first check with us whether we are working on that ourselves or in which direction the change should be going. So maybe, instead of having the |
Cool! We'll remove this one too.
Sounds great. In the same PR we can add that to the contributing guidelines! Finding this gap is also part of the effort to get even more quality :)
Mmmm... What would you think about having an issue/discussion template with the WHAT/WHY parts, and indicate in the PR that the issue must exist? |
Yes, we could maybe add it to https://github.com/elastic/apm-agent-java/blob/master/.github/ISSUE_TEMPLATE/Feature_request.md |
We'd like to enrich the existing PR template adding a few sections that we consider helpful during the review process for a PR, making it even better.
In this template, besides the checklist that we already have, we'd like to define the following structure, where:
You could see examples for Beats here: elastic/beats#15388 and elastic/beats#15422
The template:
Type of change (Mandatory)
Please delete options that are not relevant
What does this PR do? (Mandatory)
Explain here the changes you made on the PR. Please explain the WHAT: patterns used, algorithms implemented, design architecture, message processing, etc.
Why is it important? (Mandatory)
Explain here the WHY, or the rationale/motivation for the changes.
Checklist (Mandatory)
Add a checklist of things that are required to be reviewed in order to have the PR approved
List here all the items you have verified BEFORE sending this PR. Please DO NOT remove any item, striking through those that do not apply.
Author's Checklist (Recommended)
Add a checklist of things that are required to be reviewed in order to have the PR approved
How to test this PR locally (Recommended)
Explain here how this PR will be tested by the reviewer: commands, dependencies, steps, etc.
Related issues (Recommended)
Link related issues below. Insert the issue link or reference after the word "Closes" if merging this should automatically close it.
Use cases (Recommended)
Explain here the different behaviors that this PR introduces or modifies in this project, user roles, environment configuration, etc.
If you are familiar with Gherkin test scenarios, we recommend its usage: https://cucumber.io/docs/gherkin/reference/
Logs (Recommended)
Paste here output logs discovered while creating this PR, or any other output you consider important to be shared with the team.
Screenshots (Optional)
Add here screenshots about how the project will be changed after the PR is applied. They could be related to web pages, terminal, etc, or any other image you consider important to be shared with the team.
The text was updated successfully, but these errors were encountered: