1-bug.yml
1 name: Bug report 2 description: Create a report to help us improve. 3 title: "bug: " 4 labels: 5 - unconfirmed 6 assignees: [pawamoy] 7 8 body: 9 10 - type: markdown 11 attributes: 12 value: Thank you for taking the time to report a bug 🐛🙂! 13 14 - type: textarea 15 id: description 16 validations: 17 required: true 18 attributes: 19 label: Bug description 20 description: Please provide a clear and concise description of what the bug is. 21 placeholder: Describe the bug here. 22 23 - type: markdown 24 attributes: 25 value: | 26 <!-- 27 bugreport: 28 sections: 29 - title: Minimal Reproducible Example (MRE) 30 description: | 31 Ths section is about providing a Minimal Reproducible Example (MRE). 32 inputs: 33 - id: mre_option 34 type: choice 35 required: true 36 description: | 37 You have a few options to provide an MRE: 38 options: 39 path: | 40 Path to a local file containing the MRE, or to a local folder containing the MRE. 41 The file lists dependencies using [inline script metadata][ism]. 42 The folder is a valid Python project (pyproject.toml, sources, etc.) 43 44 [ism]: https://packaging.python.org/en/latest/specifications/inline-script-metadata/#example 45 url: | 46 URL to a public Git repository. 47 The repository is a valid Python project (pyproject.toml, sources, etc.) 48 code: | 49 Code to reproduce the issue directly in a text area. 50 51 - if: inputs.mre_option == "path" 52 inputs: 53 - id: mre_path 54 type: path 55 required: true 56 label: Path to file or folder. 57 description: Write the path to a local file or folder containing the MRE. 58 placeholder: path/to/file-or-folder 59 60 - if: inputs.mre_option == "url" 61 inputs: 62 - id: mre_url 63 type: input 64 required: true 65 label: URL to a public Git repository. 66 description: Write the URL to a public Git repository containing the MRE. 67 placeholder: https://github.com/username/repo 68 69 - if: inputs.mre_option == "code" 70 inputs: 71 - id: mre_code 72 type: textarea 73 required: true 74 highlight: python 75 label: Code to reproduce the issue. 76 description: Write code that reproduces the issue when ran. 77 placeholder: | 78 import bugreport 79 ... 80 81 - inputs: 82 - id: mre_commands 83 type: textarea 84 required: true 85 highlight: shell 86 label: Commands to run the MRE. 87 description: | 88 Write shell commands to run to reproduce the issue. 89 Assume you are already in a folder containing the MRE. 90 placeholder: uv run ... 91 92 - outputs: 93 mre: | 94 {% if inputs.mre_path %} 95 {{ inputs.mre_path | mre_path }} 96 {% elif inputs.mre_url %} 97 {% filter mre_url} 98 git clone {{ inputs.mre_url }} 99 {% endfilter %} 100 {% elif inputs.mre_code %} 101 {{ inputs.mre_code | mre_code("python")}} 102 {% endif %} 103 {{ inputs.mre_commands | mre_commands }} 104 --> 105 106 - type: textarea 107 id: mre 108 validations: 109 required: true 110 attributes: 111 label: Reproduction instructions 112 description: | 113 Please provide a Minimal Reproducible Example (MRE) if possible. 114 Try to boil down the problem to a few lines of code. 115 Your code should run by simply copying and pasting it. 116 placeholder: Write MRE/instructions here, or paste ZIP archive. 117 value: | 118 ```bash 119 git clone https://github.com/username/repro 120 cd repro 121 uv run python bug.py # or any command/code showing the issue 122 ``` 123 124 - type: markdown 125 attributes: 126 value: | 127 <!-- 128 bugreport: 129 sections: 130 - title: Traceback 131 description: | 132 This section is about providing a traceback. 133 inputs: 134 - id: run_mre 135 type: boolean 136 required: true 137 label: Run the MRE? 138 description: | 139 Should we run the MRE to capture the output as traceback? 140 141 - if: inputs.run_mre 142 outputs: 143 traceback: | 144 {{ outputs.mre | run_mre }} 145 --> 146 147 - type: textarea 148 id: traceback 149 validations: 150 required: true 151 attributes: 152 label: Full traceback 153 description: | 154 Please provide the full error message / traceback if any, by pasting it below. 155 This will be automatically formatted into a code block, so no need for backticks. 156 placeholder: Paste the full traceback here. 157 render: python 158 159 - type: textarea 160 id: expected 161 validations: 162 required: true 163 attributes: 164 label: Expected behavior 165 description: Please provide a clear and concise description of what you expected to happen. 166 placeholder: Describe the expected behavior here. 167 168 - type: markdown 169 attributes: 170 value: | 171 <!-- 172 bugreport: 173 sections: 174 - title: Environment information 175 description: | 176 This section is about providing environment information. 177 inputs: 178 - id: venv 179 type: path 180 required: false 181 label: Environment information 182 description: | 183 The next question is about providing environment information. 184 We will try to extract relevant information from a `.venv` virtualenv 185 in the current directory, if any. You can specify the path to a different one. 186 placeholder: path/to/venv 187 value: .venv 188 outputs: 189 environment: | 190 {% with info = inputs.venv | venv_info %} 191 - **System**: {{ info.platform }} 192 - **Python**: {{ info.interpreter_name }} {{ info.interpreter_version }} ({{ info.interpreter_path }}) 193 - **Environment variables**: 194 {% for name, value in info.env_vars("PYTHONPATH", "BUGREPORT*") %} 195 - `{{ name }}`: `{{ value }}` 196 {%- endfor %} 197 - **Installed packages**: 198 {% for name, version in info.packages("bugreport") %} 199 - `{{ name }}`: v{{ value }} 200 {%- endfor %} 201 {% endwith %} 202 --> 203 204 - type: textarea 205 id: environment 206 validations: 207 required: true 208 attributes: 209 label: Environment information 210 description: | 211 Please run the following command in your repository and paste its output below it, 212 redacting sensitive information: `bugreport --debug-info`. 213 placeholder: Paste the output of `bugreport --debug-info` here. 214 215 - type: textarea 216 id: context 217 validations: 218 required: false 219 attributes: 220 label: Additional context 221 description: | 222 Add any other relevant context about the problem here, 223 like links to other issues or pull requests, screenshots, etc. 224 placeholder: Add any other context here.