From b10b6e8ed9731b82894273fd6846d40becf5ee13 Mon Sep 17 00:00:00 2001 From: Shad Storhaug Date: Mon, 23 Oct 2023 15:12:04 +0700 Subject: [PATCH] Added GitHub Issue and PR templates to improve usability and automatically tag issues appropriately (#885) --- .github/ISSUE_TEMPLATE/10_bug_report.yml | 79 +++++++++++++++++++ .github/ISSUE_TEMPLATE/20_feature_request.yml | 38 +++++++++ .github/ISSUE_TEMPLATE/30_task.yml | 25 ++++++ .../40_documentation_improvement.yml | 29 +++++++ .github/ISSUE_TEMPLATE/config.yml | 20 +++++ .github/pull_request_template.md | 21 +++++ 6 files changed, 212 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/10_bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/20_feature_request.yml create mode 100644 .github/ISSUE_TEMPLATE/30_task.yml create mode 100644 .github/ISSUE_TEMPLATE/40_documentation_improvement.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/pull_request_template.md diff --git a/.github/ISSUE_TEMPLATE/10_bug_report.yml b/.github/ISSUE_TEMPLATE/10_bug_report.yml new file mode 100644 index 0000000000..4d0a52898d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/10_bug_report.yml @@ -0,0 +1,79 @@ +name: 🐞 Bug Report +description: Create a report to help us improve +labels: ["is:bug"] +body: +- type: markdown + attributes: + value: | + Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting **non-security** bugs, feature requests, and for general tasks to work on. Since Lucene.NET is mostly a line-by-line port from a **specific version** of Lucene, feature requests should generally be limited to improvements that make Lucene.NET interoperate with .NET better. Bugs that have already been reported and/or fixed in Lucene should generally not be reported again here, as the patch will be carried over to Lucene.NET during the upgrade. + + If you believe you have an issue that affects the SECURITY of the platform, please do NOT create an issue and instead follow the [ASF vulnerability reporting process](https://apache.org/security/#reporting-a-vulnerability). This is a project of the [Apache Software Foundation](https://apache.org) and follows the ASF [vulnerability handling process](https://apache.org/security/#vulnerability-handling). + + For other types of questions, consider using [StackOverflow](https://stackoverflow.com) and applying the tags `lucene.net` AND `lucene` or join the [Lucene.NET user mailing list](https://lucenenet.apache.org/contributing/index.html#ask-a-question). +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered ([lucenenet/issues](https://github.com/apache/lucenenet/issues?q=is%3Aissue) AND [lucene/issues](https://github.com/apache/lucene/issues?q=is%3Aissue)). + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is. + validations: + required: true +- type: textarea + attributes: + label: Expected Behavior + description: A clear and concise description of what you expected to happen. + validations: + required: false +- type: textarea + attributes: + label: Steps To Reproduce + description: | + We ❤ code! Point us to a minimalistic project which reproduces this issue (repro) hosted in a public GitHub repo or alternatively, fork this repo and add a test that demontstates the issue. + + We will close this issue if: + - The repro project does not contain an index or a way to create one. You must provide some basic test data. + - 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. + - If the GitHub repro project is set to `Private`. + validations: + required: false +- type: textarea + attributes: + label: Exceptions (if any) + description: Include the exception you get when facing this issue. + placeholder: + validations: + required: false +- type: input + attributes: + label: Lucene.NET Version + description: | + Please provide the exact version of Lucene.NET you are using. Note that Lucene.NET 3.0.3 and earlier versions are no longer being maintained. +- type: input + attributes: + label: .NET Version + description: | + Run `dotnet --version` in .NET Core or provide the version of .NET Framework, MAUI, Xamarin, Unity, UWP, or Mono you are using to run Lucene.NET. +- type: input + attributes: + label: Operating System + description: | + Provide the operating system and version that you are using (i.e. Windows 11, Debian 12.2, etc.) +- type: textarea + attributes: + label: Anything else? + description: | + - The platform (x86 / x64 / ARM / ARM64): + - The IDE (VS / VS Code / VS4Mac) you're running on, and its version: + - Include the output of `dotnet --info`: + + Links? References? Anything that will give us more context about the issue you are encountering! + + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/20_feature_request.yml b/.github/ISSUE_TEMPLATE/20_feature_request.yml new file mode 100644 index 0000000000..61f115f8bc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/20_feature_request.yml @@ -0,0 +1,38 @@ +name: 💡 Feature Request +description: Suggest an idea for this project +labels: ["is:feature"] +body: +- type: markdown + attributes: + value: | + Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting **non-security** bugs, feature requests, and for general tasks to work on. Since Lucene.NET is mostly a line-by-line port from a **specific version** of Lucene, feature requests should generally be limited to improvements that make Lucene.NET interoperate with .NET better. + + We should keep Lucene.NET version-aligned with Lucene for future porting efforts to go smoothly. Please **do not request features from newer versions of Lucene**. We will upgrade the entire project to get these features all at once when the API is stable. We have very little hope of maintaining the project if we don't have a version of Lucene to run to compare code execution with, so version compatibility takes precedence over features from newer versions. +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the feature you are requesting. ([apache/lucenenet](https://github.com/apache/lucenenet/issues)). + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: Is your feature request related to a problem? Please describe the problem. + description: A clear and concise description of what the problem is. + placeholder: I am trying to do [...] but [...] + validations: + required: false +- type: textarea + attributes: + label: Describe the solution you'd like + description: | + A clear and concise description of what you want to happen. Include any alternative solutions you've considered. + validations: + required: true +- type: textarea + attributes: + label: Additional context + description: | + Add any other context or screenshots about the feature request here. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/30_task.yml b/.github/ISSUE_TEMPLATE/30_task.yml new file mode 100644 index 0000000000..aa3680f4fd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/30_task.yml @@ -0,0 +1,25 @@ +name: ⭐ Task +description: File a general task +labels: ["is:task"] +body: +- type: markdown + attributes: + value: | + Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting **non-security** bugs, feature requests, and for general tasks to work on. Since Lucene.NET is mostly a line-by-line port from a **specific version** of Lucene, feature requests should generally be limited to improvements that make Lucene.NET interoperate with .NET better. + + If you believe you have an issue that affects the SECURITY of the platform, please do NOT create an issue and instead follow the [ASF vulnerability reporting process](https://apache.org/security/#reporting-a-vulnerability). This is a project of the [Apache Software Foundation](https://apache.org) and follows the ASF [vulnerability handling process](https://apache.org/security/#vulnerability-handling). + + For other types of questions, consider using [StackOverflow](https://stackoverflow.com) and applying the tags `lucene.net` AND `lucene` or join the [Lucene.NET user mailing list](https://lucenenet.apache.org/contributing/index.html#ask-a-question). +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered ([lucenenet/issues](https://github.com/apache/lucenenet/issues?q=is%3Aissue)). + options: + - label: I have searched the existing issues + required: true +- type: textarea + id: description + attributes: + label: Task description + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/40_documentation_improvement.yml b/.github/ISSUE_TEMPLATE/40_documentation_improvement.yml new file mode 100644 index 0000000000..5733ca3160 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/40_documentation_improvement.yml @@ -0,0 +1,29 @@ +name: 📖 Documentation Improvement +description: Suggest an enhancement or point out a typo in the documentation +labels: ["docs"] +body: +- type: markdown + attributes: + value: | + Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting **non-security** bugs, feature requests, and for general tasks to work on. Since Lucene.NET is mostly a line-by-line port from a **specific version** of Lucene, feature requests should generally be limited to improvements that make Lucene.NET interoperate with .NET better. +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the documentation issue you are reporting. (https://github.com/apache/lucenenet/issues). + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: Describe the documentation issue + description: | + A clear and concise description of the issue you have encountered and any recommendations on how to fix it. + validations: + required: true +- type: textarea + attributes: + label: Additional context + description: | + Add any other context or screenshots about the documentation issue here. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..48a4c6b9d9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,20 @@ +blank_issues_enabled: true +contact_links: + - name: Design Proposal + url: https://lucene.apache.org/core/discussion.html + about: Please discuss platform-agnostic design proposals of the API or features on the Lucene developer mailing list. These types of changes need to go through Lucene's design review before they can be ported from Java to Lucene.NET in a later version. + - name: Ask a How-To Question + url: https://stackoverflow.com/questions/tagged/lucene.net + about: Please ask usability questions on StackOverflow. Consider including BOTH the lucene.net tag and the lucene tag. Alternatively, join the Lucene.NET user mailing list by sending an email to user-subscribe@apache.org. Once signed up, you can submit your question to user@apache.org. + - name: Join a Mailing List + url: https://lucenenet.apache.org/contributing/mailing-lists.html + about: Join a Lucene.NET mailing list to ask user questions, discuss the development or other aspects of Lucene.NET with our team, or to track commits and builds. + - name: Issue with J2N + url: https://github.com/NightOwl888/J2N/issues/new/choose + about: Please open issues relating to J2N in NightOwl888/J2N. + - name: Issue with ICU4N + url: https://github.com/ICU4N/ICU4N/issues/new/choose + about: Please open issues relating to International Components for Unicode for .NET (ICU4N) in ICU4N/ICU4N. + - name: Issue with Examine + url: https://github.com/Shazwazza/Examine/issues/new/choose + about: Please open issues relating to Examine in Shazwazza/Examine. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..9e1c68d1f2 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,21 @@ + + + + + + +- [ ] You've read the [Contributor Guide](https://github.com/apache/lucenenet/blob/main/CONTRIBUTING.md) and [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html). +- [ ] You've included unit or integration tests for your change, where applicable. +- [ ] You've included inline docs for your change, where applicable. +- [ ] There's an open issue for the PR that you are making. If you'd like to propose a change, please [open an issue](https://github.com/apache/lucenenet/issues/new/choose) to discuss the change or find an existing issue. + + + +Summary of the changes (Less than 80 chars) + +Fixes #{bug number} (in this specific format) + +## Description + +{Detail}