Browse Source

Create repro.md (#44883)

* Create repro.md

* Update bug report template to reference the repro description

* Update 10_bug_report.yml

* Update docs/repro.md

Co-authored-by: William Godbe <[email protected]>

* Update docs/repro.md

Co-authored-by: Doug Bunting <[email protected]>

* Update docs/repro.md

Co-authored-by: Doug Bunting <[email protected]>

* Update docs/repro.md

Co-authored-by: Doug Bunting <[email protected]>

* Update docs/repro.md

Co-authored-by: Tanay Parikh <[email protected]>

* Update .github/ISSUE_TEMPLATE/10_bug_report.yml

Co-authored-by: Tanay Parikh <[email protected]>

* Update docs/repro.md

Co-authored-by: Tanay Parikh <[email protected]>

* Update docs/repro.md

Co-authored-by: Tanay Parikh <[email protected]>

* Update docs/repro.md

Co-authored-by: Tanay Parikh <[email protected]>

* Update docs/repro.md

Co-authored-by: Tanay Parikh <[email protected]>

* Added reasoning why this is important

* Added a note recommending a `REPL` option

* Update docs/repro.md

Co-authored-by: Tanay Parikh <[email protected]>

Co-authored-by: William Godbe <[email protected]>
Co-authored-by: Doug Bunting <[email protected]>
Co-authored-by: Tanay Parikh <[email protected]>
Artak 3 years ago
parent
commit
7456849560
2 changed files with 27 additions and 4 deletions
  1. 1 4
      .github/ISSUE_TEMPLATE/10_bug_report.yml
  2. 26 0
      docs/repro.md

+ 1 - 4
.github/ISSUE_TEMPLATE/10_bug_report.yml

@@ -33,11 +33,8 @@ body:
   attributes:
     label: Steps To Reproduce
     description: |
-      Steps to reproduce the behavior.
+      We ❤ code! Point us to a [minimalistic project which reproduces this issue (repro)](https://github.com/dotnet/aspnetcore/blob/main/docs/repro.md) hosted in a public GitHub repo.
       
-      We ❤ code! Point us to a minimalistic repro project hosted in a public GitHub repo.
-      For a repro project, create a new ASP.NET Core project using the template of your choice, apply the minimum required code to result in the issue you're observing.
-
       We will close this issue if:
       - The repro project you share with us is complex. We can't investigate custom projects, so don't point us to such, please.
       - If we will not be able to repro the behavior you're reporting.

+ 26 - 0
docs/repro.md

@@ -0,0 +1,26 @@
+# Bug Report Reproduction Guide
+
+When customers plan to report an issue with ASP.NET Core, we will most likely ask them to provide a so called `minimal reproduction project (repro)`.
+This serves two purposes:
+- It helps issue reporters validate their assumptions by trying to recreate the behavior in a new project.
+- It helps eliminate ambiguity and speeds up investigations. We may also be able to provide workarounds in certain scenarios.
+
+This document describes what a minimal repro project is, and why it's important to us.
+
+## What is a minimal repro project?
+A repro (or a reproduction) is a project, which can be used to reproduce the reported behavior with minimal effort from a product team, which has the minimum code required to demonstrate the concerning behavior.
+
+There are two ways you can provide a minimal repro project. The first and simpler option is to use some type of public web-hosted REPL-based environment which supports ASP.NET Core. The other option is to provide a project hosted in GitHub as described below:
+- Create a new project, based on one of the ASP.NET Core project templates.
+  - **Please use the `Empty*` project templates** if they're available for that project type.
+- Add the minimum amount of code necessary to reproduce the behavior you are reporting on this newly created project.
+- Make sure you **do not** add any dependencies that are irrelevant to the behavior.
+- Host the project as a **public** repository on GitHub.
+- Make sure you haven't included any binaries in your project (this is usually about the `bin` and `obj` folders in your project)
+  Note: that this step is important and we won't be able to open zip attachments in your issues.
+  Zip files are potential attack vectors that we try to avoid at all cost.
+  
+  ## Important consideratoins
+  - **Never** include any sensitive information in your reproduction project.
+  - **Never** include any code that is not intended to be public in a repro.
+  - **Do not** reference any external services or data sources.