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

Introduce issue templates #6147

Merged
merged 10 commits into from
Oct 17, 2018
Merged

Introduce issue templates #6147

merged 10 commits into from
Oct 17, 2018

Conversation

dwijnand
Copy link
Member

@dwijnand dwijnand commented Oct 6, 2018

I took GitHub's default "Bug report" and "Feature request" templates and modified them a bit to make them work with Cargo. Happy to iterate more. WDYT?

dwijnand and others added 2 commits October 6, 2018 17:44
These are GitHub's default "Bug report" and "Feature request" template.  We can modify them as we deem appropriate.
@rust-highfive
Copy link

r? @matklad

(rust_highfive has picked a reviewer for you, use r? to override)

Copy link
Member

@alexcrichton alexcrichton left a comment

Choose a reason for hiding this comment

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

Thanks for this! Looking at this again I'm sort of faced again though with conflicts about how much this'll help us. I've never really enjoyed filling out templates myself on other projects in that my bug/feature request never really fits in and it doesn't seem to assist the resolution of the issue in the long run.

Can you describe again the thinking behind adding these? E.g. what's the main expected benefit for us?

- OS:
- Rust Version:
- Cargo Version:
- Release Channel:
Copy link
Member

Choose a reason for hiding this comment

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

This is info which ideally we've have a single-shot command to automatically fill this rather than asking the user to explicitly write this in. It may mean that we need to update cargo version --verbose perhaps, or maybe even add cargo report-bug to print this sort of information.

Copy link
Member Author

Choose a reason for hiding this comment

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

Either sound good to me.

A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
Copy link
Member

Choose a reason for hiding this comment

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

One aspect of templates I've always been wary of is that it scares off issues that otherwise wouldn't be created. For example I've stopped filing a bug halfway through sometimes when the issue has seemingly a lot of fields that require a good deal of effort to fill in. For Cargo I'd personally prefer that we sift through low-quality reports than get no reports as there's always a chance that we can spot an actually issue from an ill-reported bug.

In that sense I feel that this sort of section (and maybe additional context?) goes into a bit too much information for a feature request. I'm curious what others think though?

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Copy link
Member

Choose a reason for hiding this comment

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

This is an interesting framing that we may want to change, having the first example of a feature request being "I'm always frustated when ..." doesn't necessarily set a great tone for bug reports. I know it drains a lot out of me at least reading issues that are just frustrated rants.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.
Copy link
Member

Choose a reason for hiding this comment

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

The "clear and concise" bit here can be removed and perhaps changed to mention that this section is optional, I'd imagine it's fine to report an issue which you're not entirely clear how it'll be solved yet.

Copy link
Member Author

Choose a reason for hiding this comment

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

We can vary the wording, of course. But the value here, in my opinion, is accurately capturing as two distinct entities what the problem is, in of itself, vs what the author believes the solution is. Often these two are confused and/or transposed..

@dwijnand
Copy link
Member Author

dwijnand commented Oct 8, 2018

Thanks for this! Looking at this again I'm sort of faced again though with conflicts about how much this'll help us. I've never really enjoyed filling out templates myself on other projects in that my bug/feature request never really fits in and it doesn't seem to assist the resolution of the issue in the long run.

Can you describe again the thinking behind adding these? E.g. what's the main expected benefit for us?

So, first off, from https://blog.github.com/2018-05-02-issue-template-improvements/ it looks like this setup will give you the option to use one of these templates, but also the option to "Open a regular issue", so opt-ing out is kind of a visibly accepted option.

But going back, the motivation behind this was a conversation about the state of the issue tracker and good quality issues in the backlog, and I proposed trying out GitHub's new issue template, now with multiple template support too.

The thinking (or at least my take on it) is that if you guide issue authors into nicely capturing the requested feature or the reported bug, along with the status quo at the time, on average you end up with a better quality issue backlog.

In particular (as mentioned above) guiding ticket authors to distinguish their proposed solution (for a feature/bug/enhancement) from the underlying problem they're attempting to solve, has great value.

@alexcrichton
Copy link
Member

I think I'm sort of torn on this. I agree that with a template we're likely to increase the quality of bug reports. That being said though I feel that the increase in quality isn't really significant enough for maintainers of Cargo. Put another way, those already familiar with Cargo are unlikely to benefit from the issue templates (I think). In that light, the slight net negative of maybe some reports are lost seems like it would lead to us not wanting to do this.

Maintainers aren't the only users of issues though! If we have a large "triage community" or set of folks who aren't so intimately familiar with Cargo then having higher quality issues could in theory have a significant impact on them. I don't think we have much of a set of folks here (no, not you @dwijnand, you know enough of Cargo's internals now you're maintainer level :P), but would could definitely use folks like that!

I suppose like many other features we could try this out and see how it goes? In doing so though perhaps we could do so a little more conservatively, perhaps only having feature requests and bug reports, and small (maybe commented out by default) blurbs about each issue. Emoji in the template by default could also be useful to visually distinguish the two as well I think?

Adapt to feedback comments, and steal (heavily) from the templates in rust-clique/human-panic.
@dwijnand
Copy link
Member Author

Some adaptation pushed (I only had limited time today to think about it much), and also added this to the meeting agenda to discuss. 🙂

@joshtriplett
Copy link
Member

I'll try to respond in more depth later, but overall, I think the idea of issue templates is a good idea (e.g. asking for version information and steps to reproduce), but I feel like the default templates don't fit very well for us and are a bit too structured.

GitHub does a prompt thing on the right based on issue description, so
perhaps that's good enough.  This way we avoid sounding too aggressive.
@dwijnand
Copy link
Member Author

r? @joshtriplett

Copy link
Contributor

@ehuss ehuss left a comment

Choose a reason for hiding this comment

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

I agree with others, I very much dislike long bug report forms. I think the first attempt should be as conservative as possible.

Thanks for filing a 🐛 bug report 😄!
-->

<!-- Provide a general summary of the issue in the title above -->
Copy link
Contributor

Choose a reason for hiding this comment

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

I think that can be removed. I think most people know what the title is for.

2.
3.

**Problem**
Copy link
Contributor

Choose a reason for hiding this comment

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

I would put "Problem" before "Steps".


<!-- Provide a general summary of the issue in the title above -->

**Describe the 🙋 feature request**
Copy link
Contributor

Choose a reason for hiding this comment

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

These two sections sound quite similar to me. Perhaps this section could be titled "Describe the problem you are trying to solve". Maybe "problem" isn't the right word, but generally steer the reporter to explaining why they want the --do-awesome-things flag.

.github/ISSUE_TEMPLATE/bug_report.md Outdated Show resolved Hide resolved
@dwijnand
Copy link
Member Author

WDYT @joshtriplett?

@joshtriplett
Copy link
Member

The new versions look reasonable to me!

As a very minor nit, I'd like to see a bit more consistency between multi-line comments and multiple single-line comments for explanatory text.

@dwijnand
Copy link
Member Author

Will that do? (I wasn't 100% sure what you meant exactly)

@joshtriplett
Copy link
Member

Looks good to me!

@alexcrichton
Copy link
Member

@bors: r=JoshTriplett

@bors
Copy link
Collaborator

bors commented Oct 17, 2018

📌 Commit f53b2f5 has been approved by JoshTriplett

bors added a commit that referenced this pull request Oct 17, 2018
Introduce issue templates

I took GitHub's default "Bug report" and "Feature request" templates and modified them a bit to make them work with Cargo.  Happy to iterate more.  WDYT?
@bors
Copy link
Collaborator

bors commented Oct 17, 2018

⌛ Testing commit f53b2f5 with merge cbde1c6...

@bors
Copy link
Collaborator

bors commented Oct 17, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: JoshTriplett
Pushing cbde1c6 to master...

@bors bors merged commit f53b2f5 into rust-lang:master Oct 17, 2018
@dwijnand dwijnand deleted the issue-templates branch October 18, 2018 05:38
@ehuss ehuss added this to the 1.31.0 milestone Feb 6, 2022
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.

None yet

7 participants