mirror of
https://github.com/frappe/gunicorn.git
synced 2026-07-02 18:51:31 +08:00
github: Add discussions-first triage workflow
Redirect issue creation to GitHub Discussions for proper triage: - Disable blank issues, redirect to discussion categories - Add structured discussion templates for bugs, features, questions - Add preapproved issue template for maintainer use only - Update CONTRIBUTING.md to reflect new workflow
This commit is contained in:
parent
e021e3e93f
commit
6a46d66a56
120
.github/DISCUSSION_TEMPLATE/bug-report.yml
vendored
Normal file
120
.github/DISCUSSION_TEMPLATE/bug-report.yml
vendored
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
title: "[Bug] "
|
||||||
|
labels:
|
||||||
|
- bug
|
||||||
|
- triage
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to report a bug!
|
||||||
|
|
||||||
|
Before submitting, please:
|
||||||
|
- Search [existing discussions](https://github.com/benoitc/gunicorn/discussions) and [issues](https://github.com/benoitc/gunicorn/issues) for duplicates
|
||||||
|
- Check the [FAQ](https://docs.gunicorn.org/en/latest/faq.html) and [documentation](https://docs.gunicorn.org/)
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: Bug Description
|
||||||
|
description: A clear description of what the bug is
|
||||||
|
placeholder: What happened? What did you expect to happen?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: reproduce
|
||||||
|
attributes:
|
||||||
|
label: Steps to Reproduce
|
||||||
|
description: Minimal steps to reproduce the behavior
|
||||||
|
placeholder: |
|
||||||
|
1. Create a simple app with...
|
||||||
|
2. Run gunicorn with...
|
||||||
|
3. Send request...
|
||||||
|
4. See error...
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: config
|
||||||
|
attributes:
|
||||||
|
label: Configuration
|
||||||
|
description: Your gunicorn configuration (command line or config file)
|
||||||
|
render: bash
|
||||||
|
placeholder: |
|
||||||
|
gunicorn --workers 4 --bind 0.0.0.0:8000 myapp:app
|
||||||
|
|
||||||
|
# Or config file contents
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: logs
|
||||||
|
attributes:
|
||||||
|
label: Logs / Error Output
|
||||||
|
description: Relevant logs or error messages (use --log-level debug for more detail)
|
||||||
|
render: text
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: gunicorn-version
|
||||||
|
attributes:
|
||||||
|
label: Gunicorn Version
|
||||||
|
description: Output of `gunicorn --version`
|
||||||
|
placeholder: gunicorn 24.0.0
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: python-version
|
||||||
|
attributes:
|
||||||
|
label: Python Version
|
||||||
|
description: Output of `python --version`
|
||||||
|
placeholder: Python 3.12.0
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: dropdown
|
||||||
|
id: worker-class
|
||||||
|
attributes:
|
||||||
|
label: Worker Class
|
||||||
|
description: Which worker type are you using?
|
||||||
|
options:
|
||||||
|
- sync (default)
|
||||||
|
- gthread
|
||||||
|
- gevent
|
||||||
|
- eventlet
|
||||||
|
- tornado
|
||||||
|
- asgi (beta)
|
||||||
|
- custom
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: os
|
||||||
|
attributes:
|
||||||
|
label: Operating System
|
||||||
|
description: Your OS and version
|
||||||
|
placeholder: Ubuntu 22.04, macOS 14.0, etc.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: additional
|
||||||
|
attributes:
|
||||||
|
label: Additional Context
|
||||||
|
description: Any other context about the problem (proxy setup, Docker, etc.)
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: Checklist
|
||||||
|
options:
|
||||||
|
- label: I have searched existing discussions and issues for duplicates
|
||||||
|
required: true
|
||||||
|
- label: I have checked the documentation and FAQ
|
||||||
|
required: true
|
||||||
|
- label: I have included the minimal configuration to reproduce this issue
|
||||||
|
required: true
|
||||||
74
.github/DISCUSSION_TEMPLATE/feature-request.yml
vendored
Normal file
74
.github/DISCUSSION_TEMPLATE/feature-request.yml
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
title: "[Feature] "
|
||||||
|
labels:
|
||||||
|
- enhancement
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for suggesting a feature!
|
||||||
|
|
||||||
|
Before submitting, please:
|
||||||
|
- Search [existing discussions](https://github.com/benoitc/gunicorn/discussions) and [issues](https://github.com/benoitc/gunicorn/issues) for similar requests
|
||||||
|
- Check if this is already possible with existing configuration
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: problem
|
||||||
|
attributes:
|
||||||
|
label: Problem Statement
|
||||||
|
description: What problem does this feature solve? What's the use case?
|
||||||
|
placeholder: I'm trying to... but currently...
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: solution
|
||||||
|
attributes:
|
||||||
|
label: Proposed Solution
|
||||||
|
description: How would you like this to work?
|
||||||
|
placeholder: |
|
||||||
|
I'd like a new setting `--my-option` that...
|
||||||
|
|
||||||
|
Example usage:
|
||||||
|
gunicorn --my-option value myapp:app
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: alternatives
|
||||||
|
attributes:
|
||||||
|
label: Alternatives Considered
|
||||||
|
description: What other solutions have you considered or tried?
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: dropdown
|
||||||
|
id: scope
|
||||||
|
attributes:
|
||||||
|
label: Feature Scope
|
||||||
|
description: What area does this feature affect?
|
||||||
|
options:
|
||||||
|
- Configuration / Settings
|
||||||
|
- Worker behavior
|
||||||
|
- HTTP handling
|
||||||
|
- Logging / Instrumentation
|
||||||
|
- Signals / Process management
|
||||||
|
- Documentation
|
||||||
|
- Other
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: contribution
|
||||||
|
attributes:
|
||||||
|
label: Contribution
|
||||||
|
options:
|
||||||
|
- label: I would be willing to contribute a PR for this feature
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: Checklist
|
||||||
|
options:
|
||||||
|
- label: I have searched existing discussions and issues for similar requests
|
||||||
|
required: true
|
||||||
50
.github/DISCUSSION_TEMPLATE/question.yml
vendored
Normal file
50
.github/DISCUSSION_TEMPLATE/question.yml
vendored
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
title: "[Question] "
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Have a question about Gunicorn?
|
||||||
|
|
||||||
|
Before asking, please check:
|
||||||
|
- [Documentation](https://docs.gunicorn.org/)
|
||||||
|
- [FAQ](https://docs.gunicorn.org/en/latest/faq.html)
|
||||||
|
- [Settings Reference](https://docs.gunicorn.org/en/latest/settings.html)
|
||||||
|
- [Existing discussions](https://github.com/benoitc/gunicorn/discussions)
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: question
|
||||||
|
attributes:
|
||||||
|
label: Question
|
||||||
|
description: What would you like to know?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: context
|
||||||
|
attributes:
|
||||||
|
label: Context
|
||||||
|
description: Any relevant context (your setup, what you've tried, etc.)
|
||||||
|
placeholder: |
|
||||||
|
I'm running gunicorn with...
|
||||||
|
I've tried...
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: config
|
||||||
|
attributes:
|
||||||
|
label: Configuration (if relevant)
|
||||||
|
description: Your gunicorn configuration
|
||||||
|
render: bash
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: Checklist
|
||||||
|
options:
|
||||||
|
- label: I have checked the documentation and FAQ
|
||||||
|
required: true
|
||||||
|
- label: I have searched existing discussions
|
||||||
|
required: true
|
||||||
11
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
11
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Bug Report
|
||||||
|
url: https://github.com/benoitc/gunicorn/discussions/new?category=q-a
|
||||||
|
about: Report a bug or unexpected behavior (starts as a discussion for triage)
|
||||||
|
- name: Feature Request
|
||||||
|
url: https://github.com/benoitc/gunicorn/discussions/new?category=ideas
|
||||||
|
about: Suggest a new feature or improvement
|
||||||
|
- name: Question
|
||||||
|
url: https://github.com/benoitc/gunicorn/discussions/new?category=q-a
|
||||||
|
about: Ask a question about configuration, deployment, or usage
|
||||||
16
.github/ISSUE_TEMPLATE/preapproved.md
vendored
Normal file
16
.github/ISSUE_TEMPLATE/preapproved.md
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
name: Pre-Discussed and Approved Topics
|
||||||
|
about: Only for topics already discussed and approved in GitHub Discussions
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
---
|
||||||
|
|
||||||
|
**Only for topics already discussed and approved in the GitHub Discussions section.**
|
||||||
|
|
||||||
|
DO NOT OPEN A NEW ISSUE. PLEASE USE THE DISCUSSIONS SECTION.
|
||||||
|
|
||||||
|
Link to approved discussion:
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
@ -21,24 +21,22 @@ to do everything for everybody. This means that we might decide against
|
|||||||
incorporating a new feature. However, there might be a way to implement
|
incorporating a new feature. However, there might be a way to implement
|
||||||
that feature *on top of* Gunicorn.
|
that feature *on top of* Gunicorn.
|
||||||
|
|
||||||
### Discuss your design on the mailing list
|
### Start with a Discussion
|
||||||
|
|
||||||
We recommend discussing your plans [on the mailing
|
We use [GitHub Discussions](https://github.com/benoitc/gunicorn/discussions)
|
||||||
list](http://gunicorn.org/#community) before starting to code -
|
as the starting point for all bug reports, feature requests, and questions.
|
||||||
especially for more ambitious contributions. This gives other
|
This allows for proper triage before creating formal issues.
|
||||||
contributors a chance to point you in the right direction, give feedback
|
|
||||||
on your design, and maybe point out if someone else is working on the
|
|
||||||
same thing.
|
|
||||||
|
|
||||||
### Create issues...
|
- **Bug reports**: Start in [Q&A](https://github.com/benoitc/gunicorn/discussions/categories/q-a)
|
||||||
|
- **Feature requests**: Start in [Ideas](https://github.com/benoitc/gunicorn/discussions/categories/ideas)
|
||||||
|
- **Questions**: Start in [Q&A](https://github.com/benoitc/gunicorn/discussions/categories/q-a)
|
||||||
|
|
||||||
Any significant improvement should be documented as [a github
|
After discussion and triage, maintainers will create issues for confirmed
|
||||||
issue](https://github.com/benoitc/gunicorn/issues) before anybody starts
|
bugs and approved features.
|
||||||
working on it.
|
|
||||||
|
|
||||||
### ...but check for existing issues first!
|
### Check for existing discussions first!
|
||||||
|
|
||||||
Please take a moment to check that an issue doesn't already exist
|
Please take a moment to check that a discussion or issue doesn't already exist
|
||||||
documenting your bug report or improvement proposal. If it does, it
|
documenting your bug report or improvement proposal. If it does, it
|
||||||
never hurts to add a quick "+1" or "I have this problem too". This will
|
never hurts to add a quick "+1" or "I have this problem too". This will
|
||||||
help prioritize the most common problems and requests.
|
help prioritize the most common problems and requests.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user