Skip to content

Add structured bug report issue template (.github/ISSUE_TEMPLATE/bug_report.yml) #967

@smoparth

Description

@smoparth

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 bug label.
  • 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.yml exists 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 bug label
  • 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions