silverstripe / .github

0 stars 2 forks source link

Trial issue and PR templates to see what works best for us #79

Closed GuySartorelli closed 9 months ago

GuySartorelli commented 1 year ago

Issue templates

We get quite a few issues that don't say what version of the module or of CMS is affected, don't provide a clear description, and don't include reproduction steps.

This is less of an issue on the framework repo, which does have a template. So we know issue templates do alleviate this problem. But we want to also experiment with a more prescriptive template that requires some information to be included, and see how they compare in effectiveness.

PR templates

We get quite a few PRs that don't clearly explain what they intend to do, and/or don't link back to an issue.

Even the framework repo, which does have a template for PRs, has this problem. We should replace the framework template with one that more clearly outlines the required information - minimally with a description and a link to an issue (and a note to create a new issue if one doesn't yet exist).

Looking at the docs, there isn't currently a way to have prescriptive PR templates with required fields.

Acceptance Criteria

Notes

TO REVIEW

Note that everything is up for grabs - the PR merge checklist is included to see what it would be like - but if we don't all agree to actually use it, we shouldn't include it.

PRs

NOTE: These should be adding identical templates, except for the docs repos which are different

n8-dev commented 1 year ago

Informational update.

There is now a way to have a somewhat

prescriptive PR templates with required fields.

As in using the Form syntax and multiple templates feature of github, thus people are prompted to fill in the associated details https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates

Form syntax: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms

You can also add links on the create page that can offer comments like where to asking questions, where to review security policy etc which definitely help improve the developer experience and help new people into contributing

Here's some real world examples. Live Examples: https://github.com/carloscuesta/gitmoji/issues/new/choose https://github.com/wagtail/wagtail/issues/new/choose (Note: the please go here for questions links, and report vulnerability process) https://github.com/actions/toolkit/issues/new/choose

I especially markdown around form inputs. (see the second input field below as an example)

Example image: image

emteknetnz commented 9 months ago

https://github.com/GuySartorelli/issue-template-playground seems good

sabina-talipova commented 9 months ago

All looks good to me, but there are couple small questions:

GuySartorelli commented 9 months ago

Could we provide small example here, like e.g 5.1.0 or 5.0 or 5.

Is the x.y.z in the placeholder enough? Or would you rather change that placeholder to "e.g. 5.1.0"? Note that 5.1 and 5 wouldn't really be as useful as exact patch numbers (e.g. 5.1.3) so I don't want to provide those as suggested values.

If we will have a wiki page, could we provide a small template of "Steps to reproduce" there. I would personally prefer "cucumber" style, but probably there is another best way.

Since we have a whole docs site I don't think it would make sense to also have a GitHub wiki. Especially since (afaik) those are per repository, so we'd need to add an identical wiki on each repository which gets a bit messy.

We could certainly add an example to the documentation, and link to that page from the template. Though frankly at this point any reproduction steps would be better than what we currently get :p

maxime-rainville commented 9 months ago

This is bloody awesome!!!

I love the extra link to submit security issues and to go the community resource.

On the bug template, do we want to include a link to Elvis on the "Check that there isn't already an issue that reports the same bug" checkbox?

GuySartorelli commented 9 months ago

On the bug template, do we want to include a link to Elvis on the "Check that there isn't already an issue that reports the same bug" checkbox?

We can do - but I'd rather wait until elvis has a proper domain (see https://github.com/silverstripe/github-issue-search-client/issues/121). I don't like the links we have to it in the docs as is because of this problem.

emteknetnz commented 9 months ago

Have merged all PRs except fluent

GuySartorelli commented 9 months ago

Fluent got merged