From 6cc64fb97d098b350fc9c8149170412ea41bb383 Mon Sep 17 00:00:00 2001
From: Roman Leonov <roman.leonov@espressif.com>
Date: Thu, 31 Oct 2024 13:16:42 +0100
Subject: [PATCH] change(tinyusb): Added repo templates for issue and pull
 request

---
 .github/ISSUE_TEMPLATE/bug_report.yml      | 102 +++++++--------------
 .github/ISSUE_TEMPLATE/config.yml          |   8 --
 .github/ISSUE_TEMPLATE/feature_request.yml |  49 ----------
 .github/PULL_REQUEST_TEMPLATE.md           |  17 ++++
 .github/pull_request_template.md           |   5 -
 idf_component.yml                          |   1 +
 6 files changed, 51 insertions(+), 131 deletions(-)
 delete mode 100644 .github/ISSUE_TEMPLATE/config.yml
 delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml
 create mode 100644 .github/PULL_REQUEST_TEMPLATE.md
 delete mode 100644 .github/pull_request_template.md

diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index d00ee78bda..c47f0f0f95 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -1,86 +1,50 @@
-name: Bug Report
-description: Report a problem with TinyUSB
-labels: 'Bug 🐞'
+name: Bug report
+description: Report build and runtime bugs
+labels: ["Type: Bug"]
 body:
-  - type: markdown
-    attributes:
-      value: |
-        Thanks for taking the time to fill out this bug report!
-        It's okay to leave some blank if it doesn't apply to your problem.
-
-  - type: dropdown
+  - type: checkboxes
+    id: checklist
     attributes:
-      label: Operating System
+      label: Answers checklist.
+      description: Before submitting a new issue, please follow the checklist and try to find the answer.
       options:
-              - Linux
-              - MacOS
-              - RaspberryPi OS
-              - Windows 7
-              - Windows 10
-              - Windows 11
-              - Others
-    validations:
-      required: true
-
+        - label: I have read the component documentation [ESP-IDF Components](https://components.espressif.com) and the issue is not addressed there.
+          required: true
+        - label: I am using target and esp-idf version as defined in component's idf_component.yml
+          required: true
+        - label: I have searched the upstream [issue tracker](https://github.com/hathach/tinyusb/issues?q=is%3Aissue) for a similar issue and not found any related issue.
+          required: true
+        - label: I have searched the Espressif esp-usb component [issue tracker](https://github.com/espressif/esp-usb/issues?q=is%3Aissue) for a similar issue and not found any related issue.
+          required: true
   - type: input
+    id: idf_version
     attributes:
-      label: Board
-      placeholder: e.g Feather nRF52840 Express
-    validations:
-      required: true
-
-  - type: textarea
-    attributes:
-      label: Firmware
-      placeholder: |
-        e.g examples/device/cdc_msc. If it is custom firmware, it is preferably compiled like one in example folder and reviewable for people to comment on. The easiest way is
-        - Fork this repo, checkout a new branch
-        - Add your-own-example based on stock one
-        - Push and post it here.
+      label: ESP-IDF version.
+      description: Which ESP-IDF version does this issue occur on? Run `git describe --tags` in your esp-idf folder to find it.
+      placeholder: ex. v5.0-rc1
     validations:
       required: true
-
-  - type: textarea
-    attributes:
-      label: What happened ?
-      placeholder: A clear and concise description of what the bug is.
-    validations:
-      required: true
-
-  - type: textarea
+  - type: input
+    id: devkit
     attributes:
-      label: How to reproduce ?
-      placeholder: |
-        Exact steps in chronological order, details should be specific e.g if you use a command/script to test with, please post it as well.
-        1. Go to '...'
-        2. Click on '....'
-        3. See error
+      label: Development Kit.
+      description: Which Development Kit does this issue occur on?
+      placeholder: ex. ESP32-Wrover-Kit v2 | Custom Board
     validations:
       required: true
-
-  - type: textarea
+  - type: input
+    id: component_version
     attributes:
-      label: Debug Log as txt file (LOG/CFG_TUSB_DEBUG=2)
-      placeholder: |
-        Attach your debug log txt file here, where the issue occurred, best with comments to explain the actual events.
-
-        Note1: Please DO NOT paste your lengthy log contents here since it hurts the readability.
-        Note2: To enable logging, add `LOG=2` to to the make command if building with stock examples or set `CFG_TUSB_DEBUG=2` in your tusb_config.h.
-        More information can be found at [example's readme](https://github.com/hathach/tinyusb/blob/master/docs/getting_started.md)
+      label: Used Component version.
+      description: Which Component version does this issue occur on? Check `dependencies.lock` file in your project root to find it.
+      placeholder: ex. v1.2.0-rc0
     validations:
       required: true
-
   - type: textarea
+    id: more-info
     attributes:
-      label: Screenshots
-      description: If applicable, add screenshots to help explain your problem.
+      label: More Information.
+      description: Any other information from investigating this?
+      placeholder: ex. I tried on Windows 10 PC and the issue couldn't be reproduced there.
     validations:
       required: false
-
-  - type: checkboxes
-    attributes:
-      label: I have checked existing issues, dicussion and documentation
-      description: You agree to check all the resources above before opening a new issue.
-      options:
-        - label: I confirm I have checked existing issues, dicussion and documentation.
-          required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
deleted file mode 100644
index 28fd274674..0000000000
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-blank_issues_enabled: false
-contact_links:
-  - name: TinyUSB Discussion
-    url: https://github.com/hathach/tinyusb/discussions
-    about: If you have other questions or need help, post it here.
-  - name: TinyUSB Docs
-    url: https://docs.tinyusb.org/
-    about: Online documentation
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
deleted file mode 100644
index 19f403246e..0000000000
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ /dev/null
@@ -1,49 +0,0 @@
-name: Feature Request
-description: Suggest an idea for this project
-labels: 'Feature 💡'
-body:
-  - type: markdown
-    attributes:
-      value: |
-        Thanks for taking the time to fill out this request!
-        It's okay to leave some blank if it doesn't apply to your request.
-
-  - type: input
-    attributes:
-      label: Related area
-      description: Please briefly explain the area of your Feature Request.
-      placeholder: eg. new port support, device stack, class driver ...
-    validations:
-      required: true
-
-  - type: input
-    attributes:
-      label: Hardware specification
-      description: Please provide if your proposal depends on specific Hardware.
-      placeholder: eg. rp2040, samd51 ...
-    validations:
-      required: true
-
-  - type: textarea
-    attributes:
-      label: Is your feature request related to a problem?
-      description: Please provide a clear and concise description of what the problem is. Add relevant issue link.
-      placeholder: ex. I'm facing the issue/missing function...
-    validations:
-      required: true
-
-  - type: textarea
-    attributes:
-      label: Describe the solution you'd like
-      description: Please provide a clear and concise description of what you want to happen.
-      placeholder: ex. When using this function...
-    validations:
-      required: true
-
-  - type: checkboxes
-    attributes:
-      label: I have checked existing issues, dicussion and documentation
-      description: You agree to check all the resources above before opening a new issue.
-      options:
-        - label: I confirm I have checked existing issues, dicussion and documentation.
-          required: true
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000000..22c9febcb0
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,17 @@
+## Requirements
+_Provide a requirements for requesting changes_
+
+## Limitations
+_Describe limitations if there are any_
+
+## Breaking change
+_No breaking changes_
+
+## Checklist
+
+- [ ] Pull Request name has appropriate format (for example: "fix(dcd_dwc2): Resolved address selection when several phy are present")
+- [ ] _Optional:_ README.md updated
+- [ ] CI passed
+
+## Related issues
+_No related issues_
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
deleted file mode 100644
index aa148eb79f..0000000000
--- a/.github/pull_request_template.md
+++ /dev/null
@@ -1,5 +0,0 @@
-**Describe the PR**
-A clear and concise description of what this PR solve.
-
-**Additional context**
-If applicable, add any other context about the PR and/or screenshots here.
diff --git a/idf_component.yml b/idf_component.yml
index cbc90f7cba..b038f9b71d 100644
--- a/idf_component.yml
+++ b/idf_component.yml
@@ -2,6 +2,7 @@ description: TinyUSB ported to Espressif's SoCs
 url: https://docs.tinyusb.org/en/latest/
 documentation: "https://docs.tinyusb.org/en/latest/"
 repository: "https://github.com/espressif/tinyusb.git"
+issues: "https://github.com/hathach/tinyusb/issues"
 dependencies:
   idf: '>=5.0' # IDF 4.x contains TinyUSB as submodule
 targets: