From b6cd7e40285fdb6828a210ee77b6fdfa8a6f1c47 Mon Sep 17 00:00:00 2001 From: Alejandro Gallo Date: Mon, 21 Sep 2026 20:28:27 +0200 Subject: [PATCH] chore: add github issue templates adapted from monoprop's repo --- .github/ISSUE_TEMPLATE/bug_report.yml | 72 +++++++++ .github/ISSUE_TEMPLATE/config.yml | 5 + .github/ISSUE_TEMPLATE/feature_request.yml | 42 ++++++ .github/ISSUE_TEMPLATE/performance_issue.yml | 145 +++++++++++++++++++ 4 files changed, 264 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/ISSUE_TEMPLATE/performance_issue.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..bd8a298 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,72 @@ +name: Bug report +description: Report a bug or unexpected behavior in src-method +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report a bug! Please fill in as much detail as possible. + + - type: textarea + id: description + attributes: + label: Bug description + description: A clear and concise description of the bug. + placeholder: What went wrong? + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Steps to reproduce + description: Minimal steps to reproduce the behavior. + placeholder: | + 1. Import ... + 2. Call ... + 3. Observe error ... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What did you expect to happen? + validations: + required: true + + - type: dropdown + id: os + attributes: + label: Operating system + options: + - Linux (x86_64) + - Linux (aarch64 / ARM64) + - macOS (Apple Silicon) + - macOS (Intel) + - Other (describe below) + validations: + required: true + + - type: input + id: src_method_version + attributes: + label: src-method version + placeholder: "e.g. 0.3.1 — run: python -c \"import src_method; print(src_method.__version__)\"" + validations: + required: true + + - type: input + id: python_version + attributes: + label: Python version + placeholder: "e.g. 3.11.9 — run: python --version" + validations: + required: true + + - type: textarea + id: additional + attributes: + label: Additional context + description: Logs, tracebacks, screenshots, or any other relevant information. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..ced9726 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: Documentation + url: https://algorithmiq.github.io/src-method/ + about: Check the documentation before opening an issue. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..a11286d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,42 @@ +name: Feature request / Enhancement +description: Suggest a new feature or improvement to src-method +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for suggesting an improvement! Please describe your idea clearly. + + - type: textarea + id: motivation + attributes: + label: Motivation + description: | + What problem does this feature solve, or what use case does it enable? + Is this related to something that is currently impossible or inconvenient? + placeholder: I'm trying to do X, but currently I have to work around it by doing Y… + validations: + required: true + + - type: textarea + id: proposal + attributes: + label: Proposed feature + description: A clear description of the feature or change you'd like to see. + validations: + required: true + + - type: textarea + id: api_sketch + attributes: + label: Proposed API or usage example (optional) + description: If applicable, sketch how the feature would look from a user's perspective. + placeholder: | + import src_method + # ... + + - type: textarea + id: additional + attributes: + label: Additional context + description: Any other relevant information, including alternative approaches you considered and why your proposal is preferred. diff --git a/.github/ISSUE_TEMPLATE/performance_issue.yml b/.github/ISSUE_TEMPLATE/performance_issue.yml new file mode 100644 index 0000000..b59db78 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/performance_issue.yml @@ -0,0 +1,145 @@ +name: Performance issue +description: Report a performance regression or unexpectedly slow behavior +labels: ["performance"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report a performance issue! + Please include benchmark results so we can reproduce and investigate. + + - type: textarea + id: description + attributes: + label: Performance issue description + description: Describe the performance problem you observed. + placeholder: What is slower than expected, and by how much? + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Steps to reproduce + description: Minimal code snippet that demonstrates the slow behavior. + placeholder: | + import src_method + # ... + validations: + required: true + + - type: dropdown + id: os + attributes: + label: Operating system + options: + - Linux (x86_64) + - Linux (aarch64 / ARM64) + - macOS (Apple Silicon) + - macOS (Intel) + - Other (describe below) + validations: + required: true + + - type: input + id: cpu + attributes: + label: CPU model + placeholder: "e.g. Intel Core i9-13900K, AMD EPYC 7763, Apple M3 Pro" + validations: + required: true + + - type: input + id: ram + attributes: + label: Total RAM + placeholder: "e.g. 32 GB" + validations: + required: true + + - type: input + id: cores_used + attributes: + label: Number of cores used + description: How many CPU cores / threads did src_method use during the run? + placeholder: "e.g. 8 (out of 16 physical cores)" + validations: + required: true + + - type: textarea + id: bench_results + attributes: + label: Benchmark results + description: | + Please include the benchmark command and output. + + For the pytest benchmark suite, run for example: + + uv sync --group test + uv run python -m pytest -m "perf" --log-cli-level=WARNING + + For SRC primitive benchmarks, see `benches/primitives/`. + placeholder: | + Command: + uv run python -m pytest -m "perf" --log-cli-level=WARNING + + Output: + ... + validations: + required: true + + - type: dropdown + id: install_tool + attributes: + label: Installation tool + options: + - pip + - uv + - Other (describe below) + validations: + required: true + + - type: dropdown + id: install_artifact + attributes: + label: Installation artifact + options: + - Wheel (pre-built binary) + - sdist (built from source) + - Editable install from source (git clone) + validations: + required: true + + - type: textarea + id: sdist_details + attributes: + label: Source build details (sdist only) + description: | + If you built from source, provide: + - Compiler name and version + - Versions of Boost, nanobind + - How dependencies were installed + placeholder: | + Compiler: g++ 13.2 + Boost: 1.84 + + - type: input + id: src_method_version + attributes: + label: src_method version + placeholder: "e.g. 0.3.2" + validations: + required: true + + - type: input + id: python_version + attributes: + label: Python version + placeholder: "e.g. 3.11.9" + validations: + required: true + + - type: textarea + id: additional + attributes: + label: Additional context