-
Notifications
You must be signed in to change notification settings - Fork 45
Open
Labels
Description
Problem
No issue templates exist. Bug reports arrive in freeform format, often missing critical details needed to reproduce build failures — which package failed, at what build step, with what settings. This slows triage, especially for platform-specific, resolver-related, or Rust/PyO3 build bugs.
What needs to happen
Add .github/ISSUE_TEMPLATE/bug_report.yml using GitHub issue forms syntax.
Fields
| Field | Type | Required | Why |
|---|---|---|---|
| Package name and version | text input | yes | Almost every bug is tied to a specific package. Placeholder: e.g., torch 2.5.1, numpy 2.1.0 |
| Build step where it failed | dropdown | yes | Options: Dependency resolution, sdist download/creation, Wheel build, Bootstrap (full), Other. Routes triage to the right area. |
| Fromager version | text input | yes | Output of fromager --version. Bugs are often version-specific. |
| Command run | textarea (render: shell) | yes | The exact fromager command with arguments. |
| Bug description | textarea | yes | What went wrong. |
| Expected behavior | textarea | yes | What should have happened. |
| Actual behavior | textarea | yes | What happened instead. |
| Error output / logs | textarea (render: shell) | no | Full traceback or relevant log output. |
| Package settings | textarea (render: yaml) | no | Relevant entries from package_settings.yaml. Many bugs are tied to override configurations. |
| Constraints or requirements | textarea | no | Input requirements file or constraints used. Fromager processes dependency trees — the inputs matter. |
| Environment | textarea with prefilled skeleton | yes | Prefill: Python version, OS/arch, Rust toolchain version (for PyO3/maturin), container or local, pip/uv version. |
| Additional context | textarea | no | Workarounds tried, related issues. |
Notes
- Template should auto-apply the
buglabel. - Build step dropdown is stable — these map to fromager's core pipeline stages, not to specific package names that change.
- Package settings field should hint that it accepts YAML from the settings file.
- Environment prefill should include Rust version since PyO3/maturin packages are a common failure mode.
Reference
Definition of Done
-
.github/ISSUE_TEMPLATE/bug_report.ymlexists and is valid YAML - All required fields listed above are present
- Build step dropdown includes: Dependency resolution, sdist download/creation, Wheel build, Bootstrap (full), Other
- Template auto-applies the
buglabel - Error output field uses
render: shell - Package settings field uses
render: yaml - Environment prefill includes Python version, OS/arch, Rust toolchain, container/local, pip/uv version
- Template renders correctly when creating a new issue on GitHub
Reactions are currently unavailable