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

doc: add github PR and Issue templates #1228

Merged
merged 1 commit into from
Jul 4, 2017

Conversation

gibfahn
Copy link
Member

@gibfahn gibfahn commented Jun 11, 2017

Give users reporting bugs a clearer idea of the info that will be helpful when reporting issues.

Refs: https://github.com/nodejs/node/tree/master/.github

Also points users towards module issue trackers first.

I have no idea if the windows info is correct (or whether node-gyp uses cc on all UNIX). Please correct.

The PR template should be updated if/when we get a CONTRIBUTING.md (tracked in #881)

##### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [ ] `npm it` passes
Copy link
Contributor

Choose a reason for hiding this comment

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

Learned something new 😄

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, maybe use the long form here for clarity.

the output.
-->

```
Copy link
Contributor

Choose a reason for hiding this comment

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

Ohh and another thing 😲 (that one lines restore GFM inside HTML)

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, I only learned that by emailing Github support... Apparently it's a commonmark thing (it's in their docs too).


Node Version: output of `node -v` and `npm -v`
Platform: output of `uname -a` (UNIX), or version and 32 or 64-bit (Windows)
Compiler: output of `cc -v` (UNIX) or `msbuild.exe` (Windows)
Copy link
Contributor

Choose a reason for hiding this comment

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

msbuild.exe -> msbuild /version & cl

Please fill in as much of the template below as you're able.

Node Version: output of `node -v` and `npm -v`
Platform: output of `uname -a` (UNIX), or version and 32 or 64-bit (Windows)
Copy link
Contributor

Choose a reason for hiding this comment

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

version -> systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"

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 lifted this from node, probably worth PRing it there.

Copy link
Contributor

Choose a reason for hiding this comment

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

It's trade off since the output is

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.15063 N/A Build 15063
System Type:               x64-based PC

I'm not sure in node it's worth it since AFAIK there are way less version specific issues there. I think since node-gyp compiles it's way more version sensitive

@refack
Copy link
Contributor

refack commented Jun 11, 2017

The PR template should be updated if/when we get a CONTRIBUTING.md (tracked in #881)

I landed #771 but it's just legalese

@gibfahn gibfahn force-pushed the github-templates branch 2 times, most recently from 3887dd7 to 23394b7 Compare June 11, 2017 19:12
@gibfahn
Copy link
Member Author

gibfahn commented Jun 11, 2017

The PR template should be updated if/when we get a CONTRIBUTING.md (tracked in #881)

I landed #771 but it's just legalese

Included it anyway.

Copy link
Member

@bnoordhuis bnoordhuis left a comment

Choose a reason for hiding this comment

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

Suggestions but LGTM either way.

`systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"` (Windows)
Compiler: output of `cc -v` (UNIX) or `msbuild /version & cl` (Windows)
Module: the module you tried to install.
-->
Copy link
Member

Choose a reason for hiding this comment

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

Shorter is better, in my experience, because the sad truth is that people tune out if it's more than two or three lines (while still demanding you fix their issue RIGHT NOW!)

In libuv, we have this:

<!--
If you want to report a bug, you are in the right place!

If you need help or have a question, go here: https://github.com/libuv/help/new

Please include code that demonstrates the bug and keep it short and simple.
-->
* **Version**: <!-- libuv version -->
* **Platform**: <!-- `uname -a` (UNIX), or Windows version and machine type -->

Copy link
Member Author

Choose a reason for hiding this comment

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

Agreed, no point filling it with useful information no-one will read...

##### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [ ] `npm it` passes
Copy link
Member

Choose a reason for hiding this comment

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

Yeah, maybe use the long form here for clarity.


* **Node Version**:
* **Platform**:
* **Compiler**:
Copy link
Member

Choose a reason for hiding this comment

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

Maybe include how to get the version (cc -v and on Windows... mscver? I think?)

Same for platform: uname -a

Copy link
Member Author

@gibfahn gibfahn Jun 12, 2017

Choose a reason for hiding this comment

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

I did that in the comment above, but I can move it down here. If you didn't notice it on first glance, then neither will the average issue raiser.

@gibfahn
Copy link
Member Author

gibfahn commented Jun 12, 2017

@bnoordhuis updated and shortened, PTAL.

- [ ] commit message follows [commit guidelines](https://github.com/nodejs/node/blob/master/CONTRIBUTING.md#commit-message-guidelines)

##### Description of change
<!-- Provide a description of the change -->
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 a blank line at the end? I always feel strange having to put the cursor at the end of the comment and hitting enter just to get started.

@refack
Copy link
Contributor

refack commented Jun 13, 2017

For bug reports we should request the output of npm config list as well. Many bugs are caused by bad config.
Now I'm thinking we should have a script that collects all the required info...

Give users reporting bugs a clearer idea of the info that will be
helpful when reporting issues.

Refs: https://github.com/nodejs/node/tree/master/.github
@gibfahn
Copy link
Member Author

gibfahn commented Jun 14, 2017

Now I'm thinking we should have a script that collects all the required info...
For bug reports we should request the output of npm config list

I think node-gyp could definitely benefit from some improved failure message. If something goes wrong we could say things like "you don't have a C compiler installed" and link them to a troubleshooting page.

I agree with @bnoordhuis though, we want the issue template to be as short as possible. I'd rather have node-gyp output debugging information on failure, and then the issue raiser just has to paste one set of output.

Copy link
Member

@bnoordhuis bnoordhuis left a comment

Choose a reason for hiding this comment

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

LGTM with a comment.

##### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [ ] `npm install test` passes
Copy link
Member

Choose a reason for hiding this comment

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

You mean npm test?

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 meant npm install && npm test, which is the same as npm install test (also the same as npm it, but you suggested we favour readability, which is fine).

I guess npm test will fail if you haven't done an npm install first, but better safe than sorry right (you might have messed up the package.json since the last time you did an npm install).

Copy link
Member

Choose a reason for hiding this comment

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

Ah, I would've expected npm to try install a package called 'test'. Silly me.

Copy link
Member Author

Choose a reason for hiding this comment

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

Ah, I would've expected npm to try install a package called 'test'. Silly me.

Principle of least surprise 😁

@refack
Copy link
Contributor

refack commented Jun 14, 2017

I think node-gyp could definitely benefit from some improved failure message. If something goes wrong we could say things like "you don't have a C compiler installed" and link them to a troubleshooting page.

I agree with @bnoordhuis though, we want the issue template to be as short as possible. I'd rather have node-gyp output debugging information on failure, and then the issue raiser just has to paste one set of output.

Agreed, the template should definatly be succinct. I'm cooking a PR with node-gyp info that will give us all this info in one command, system independent.

@gibfahn gibfahn merged commit f59d1a6 into nodejs:master Jul 4, 2017
@gibfahn gibfahn deleted the github-templates branch July 4, 2017 06:29
gibfahn added a commit that referenced this pull request Jul 4, 2017
Give users reporting bugs a clearer idea of the info that will be
helpful when reporting issues.

PR-URL: #1228
Refs: https://github.com/nodejs/node/tree/master/.github
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
@gibfahn
Copy link
Member Author

gibfahn commented Jul 4, 2017

Relanded in 7245415 (@bnoordhuis was right, npm install test installs the test module. IDK how I thought it did the same as npm it).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants