mirror of
https://github.com/frappe/gunicorn.git
synced 2026-07-01 10:11:30 +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
|
||||
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
|
||||
list](http://gunicorn.org/#community) before starting to code -
|
||||
especially for more ambitious contributions. This gives other
|
||||
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.
|
||||
We use [GitHub Discussions](https://github.com/benoitc/gunicorn/discussions)
|
||||
as the starting point for all bug reports, feature requests, and questions.
|
||||
This allows for proper triage before creating formal issues.
|
||||
|
||||
### 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
|
||||
issue](https://github.com/benoitc/gunicorn/issues) before anybody starts
|
||||
working on it.
|
||||
After discussion and triage, maintainers will create issues for confirmed
|
||||
bugs and approved features.
|
||||
|
||||
### ...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
|
||||
never hurts to add a quick "+1" or "I have this problem too". This will
|
||||
help prioritize the most common problems and requests.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user