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

github: add issue and pull request templates #5291

Closed
wants to merge 23 commits into from
Closed
44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
### Issue details
Copy link
Member

Choose a reason for hiding this comment

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

Perhaps start with a friendly intro?

Thanks for wanting to report an issue you've found in node.js. Please fill in below template. If unsure about something, just do as best as you're able.

Copy link
Contributor

Choose a reason for hiding this comment

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

Also state that this is optional and not required

Copy link
Member

Choose a reason for hiding this comment

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

Should there be a ### header at the beginning of the issue? Will it be ugly when the issues are searched or aggregated? Maybe the first section can be header-less?


_Please provide issue details here_.

### Steps to reproduce/test case

_Please provide necessary steps for reproduction of this issue, or better the
reduced test case (without any external dependencies)_.
Copy link
Member

Choose a reason for hiding this comment

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

"Without any external dependencies, if possible" might be friendlier.

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.


### Affected node.js versions

Copy link
Member

Choose a reason for hiding this comment

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

Perhaps add a statement asking the reporter to fill in the specific minor and patch level also

Copy link
Contributor

Choose a reason for hiding this comment

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

Just ask for the version, no need for the multiple choice.

Copy link
Member Author

Choose a reason for hiding this comment

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

Agree.

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.

- [ ] master
- [ ] v5.x
- [ ] v4.x
- [ ] v0.12
- [ ] v0.10

### Affected platforms
Copy link
Member

Choose a reason for hiding this comment

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

I think asking for uname -a output (or if windows something else) is more helpful. gives us architecture, endianness, os, etc.


- [ ] linux
Copy link
Member

Choose a reason for hiding this comment

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

Nit: For this and the others, we probably want to style as the project/vendor/whoever styles it. So, linux->Linux, windows->Windows, freebsd->FreeBSD, solaris->Solaris.

Copy link
Member Author

Choose a reason for hiding this comment

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

ack.

- [ ] windows
- [ ] OS X
- [ ] freebsd
- [ ] solaris
- [ ] other _(please specify which)_

### Core subsystem (if known)

- [ ] buffer
- [ ] child_process
- [ ] cluster
- [ ] crypto
- [ ] dgram
- [ ] dns
Copy link
Contributor

Choose a reason for hiding this comment

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

Add doc?

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.

- [ ] doc
- [ ] fs
- [ ] http
- [ ] https
- [ ] net
- [ ] tls
- [ ] tty
- [ ] vm
- [ ] zlib
- [ ] other _(please specify which)_
Copy link
Member

Choose a reason for hiding this comment

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

src

Copy link
Member Author

Choose a reason for hiding this comment

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

src is rather un-usual... I tried to include only popular ones. Also all of them mean both lib/ an src/. Perhaps, I should clarify it?

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think anyone will know this stuff. If we have the section at all, don't say sub-system, say "module", and expect the name from the docs (fs, http, net, etc.), with maybe "docs/website" as an additional.

47 changes: 47 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
### Description of change

_Please provide description of change here_.
Copy link
Contributor

Choose a reason for hiding this comment

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

Period within italics?

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.


### Pull Request check-list

_Please make sure to review and check all of these items_:

- [ ] Does `make test` pass after this change?
Copy link
Contributor

Choose a reason for hiding this comment

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

"Does make test (Linux) or vcbuild test nosign (Windows) pass after this change?"

Or something mentioning windows platform testing

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.

- [ ] Is commit message formatted according to [CONTRIBUTING.md][0]
Copy link
Member

Choose a reason for hiding this comment

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

Is the commit message formatted...

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.


Copy link
Member

Choose a reason for hiding this comment

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

Test or benchmark included?
Doc changes or additions included?

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.

Copy link
Member

Choose a reason for hiding this comment

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

Should "+1 review " be a step here? ( I'm +1 about using these checkboxes for PRs, just to be clear.)

Copy link
Member Author

Choose a reason for hiding this comment

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

What do you mean by "+1 review"?

Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe add something along the lines of: "Note: any of the above can be amended after and is not required to open a PR"

Copy link
Member Author

Choose a reason for hiding this comment

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

They are quite required :) We won't land PR if any one of these is not present.

Copy link
Contributor

Choose a reason for hiding this comment

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

Required to land, but not to open it. basically I'd like to note that there can be done while the PR is open, i.e. you can write docs after we think a change is good.

Copy link
Member Author

Choose a reason for hiding this comment

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

What about saying above that these items could be checked after the PR is open, and if some of them are not done yet - they could be checked upon completion?

Copy link
Member Author

Choose a reason for hiding this comment

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

@Fishrock123 does this wording sound better?

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think so. I meant having a note at the bottom of the section stating these things are not required to open a PR and can be done afterwards / while the PR is open.

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.

### Affected core subsystem(s)

- [ ] buffer
- [ ] child_process
- [ ] cluster
- [ ] crypto
- [ ] dgram
- [ ] dns
Copy link
Contributor

Choose a reason for hiding this comment

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

Add doc?

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure about the usability of this. After the issue is created this will turn into a list of checkboxes that is visible -- and anybody with write access can check them. Is that what we want?

Copy link
Member Author

Choose a reason for hiding this comment

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

@mikeal we want to be able to tell subsystem without looking at the code. Do you have any alternative ideas on how it could be accomplished?

Copy link
Contributor

Choose a reason for hiding this comment

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

Caine should be able to do some pretty simple analysis of the files that are in the PR to determine the sub-system. This seems like the easier thing to automate that we've talked about.

Copy link
Member Author

Choose a reason for hiding this comment

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

Right now we don't have caine, and it should be beneficial to experiment with templates to see what works and what does not.

Copy link
Member

Choose a reason for hiding this comment

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

Actually, won't the checkboxes turn into a list of tasks ? (dgram is done, dns is not done, etc) edit yes they will, see: samccone/issue-and-pr-templates#32 (comment)

I'd suggest something like this: OS: Linux/Windows/… and skip the checkboxes for now..

Copy link
Contributor

Choose a reason for hiding this comment

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

The checkboxes have the benefit of easily showing whats available as options. A comma delimited list one liner would lose that effect...

The tasks list for every issue though would get unreal over time.

Copy link
Member Author

Choose a reason for hiding this comment

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

Agree, will replace it. Ack.

- [ ] doc
- [ ] fs
- [ ] http
- [ ] https
- [ ] net
- [ ] tls
- [ ] tty
- [ ] vm
- [ ] zlib
- [ ] other _(please specify which)_

### SemVer

What [semver][1] change does this change require?

Copy link
Contributor

Choose a reason for hiding this comment

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

Add (see http://semver.org/)?

- [ ] patch _(no new APIs, no breaking changes)_
- [ ] minor _(new APIs, no breaking changes)_
- [ ] major _(breaking changes, or just too dangerous to be minor/patch)_

Copy link
Member

Choose a reason for hiding this comment

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

Relevant version would be good also for tracking LTS relevant changes.

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm actually going to remove this, because it is up to CTC to decide what it is.

Copy link
Contributor

Choose a reason for hiding this comment

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

What if the submitter has a strong case for minor vs major?

### LTS

Should this patch be backported to:
Copy link
Contributor

Choose a reason for hiding this comment

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

probably unnecessary, if someone doesn't know to specify this they probably won't be tuned into the process enough anyways and we'll probably have to decide, I think?

Copy link
Member Author

Choose a reason for hiding this comment

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

This sounds reasonable. I will change it once we will decide on general form of these files :)

Copy link
Member Author

Choose a reason for hiding this comment

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

Ack.


- [ ] current LTS
- [ ] older versions? _(please specify the version numbers)_

[0]: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md#step-3-commit
[1]: http://semver.org/