Browse Source

Merge 2287574b70 into 55ad7689d5

pull/2750/merge
Talie5in 2 days ago
committed by GitHub
parent
commit
4a7e4b0818
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 127
      .github/ISSUE_TEMPLATE/bug_report.yml
  2. 5
      .github/ISSUE_TEMPLATE/config.yml
  3. 85
      .github/ISSUE_TEMPLATE/feature_request.yml
  4. 84
      .github/workflows/auto-label-issues.yml

127
.github/ISSUE_TEMPLATE/bug_report.yml

@ -0,0 +1,127 @@
name: Bug Report
description: Report a reproducible MeshCore bug
title: "[BUG] "
labels: ["bug", "needs-triage"]
body:
- type: markdown
attributes:
value: |
## Before submitting
Please search existing issues first:
https://github.com/meshcore-dev/MeshCore/issues
If your issue matches an existing one, please comment on the existing issue instead of creating a duplicate.
This repository is for MeshCore Community Firmware and Client App and Ripple Firmware.
- type: checkboxes
id: precheck
attributes:
label: Pre-flight checklist
options:
- label: I have searched existing issues and this is not a duplicate
required: true
- label: I understand this repository is for MeshCore Community Firmware and Client App and Ripple Firmware
required: true
- type: dropdown
id: bug_type
attributes:
label: Bug Type
description: Which part of MeshCore is affected?
options:
- Firmware - Community
- Firmware - Ripple
- Client - MeshCore App
- UI - TDeck / Ripple GUI
- CLI / Tooling
- Documentation
- Unsure
validations:
required: true
- type: dropdown
id: platform
attributes:
label: Platform
description: MCU family, not board model.
options:
- Not platform specific
- ESP32
- nRF52
- Unsure
validations:
required: true
- type: input
id: version
attributes:
label: MeshCore Version
placeholder: "e.g. v1.14, release name, or commit hash"
validations:
required: true
- type: input
id: radio_settings
attributes:
label: Radio Settings
description: Frequency plan, bandwidth, spreading factor, coding rate, and region if relevant.
placeholder: "e.g. AU915 / 62.5kHz / SF9 / CR4/5"
- type: textarea
id: summary
attributes:
label: Summary
description: Briefly describe the problem.
placeholder: "e.g. Repeater appears as Unknown in hop path"
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behaviour
description: What should have happened?
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual Behaviour
description: What actually happened?
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: Steps to Reproduce
description: Provide the clearest reproduction steps possible.
placeholder: |
1. Flash firmware version ...
2. Configure radio as ...
3. Send message via ...
4. Observe ...
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs / Serial Output / Screenshots
description: Paste logs or attach screenshots where possible.
render: shell
- type: textarea
id: topology
attributes:
label: Network / Topology Context
description: Number of nodes, repeaters, hops, client used, and any relevant setup details.
- type: textarea
id: additional
attributes:
label: Additional Context
description: Anything else that may help triage the issue.

5
.github/ISSUE_TEMPLATE/config.yml

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: MeshCore Discussions
url: https://github.com/meshcore-dev/MeshCore/discussions
about: Ask questions, request help, or discuss ideas before opening an issue.

85
.github/ISSUE_TEMPLATE/feature_request.yml

@ -0,0 +1,85 @@
name: Feature Request
description: Suggest a MeshCore improvement or new capability
title: "[FEATURE] "
labels: ["enhancement", "needs-triage"]
body:
- type: markdown
attributes:
value: |
## Before submitting
Please search existing issues first:
https://github.com/meshcore-dev/MeshCore/issues
If a similar feature request already exists, please comment on the existing issue instead of creating a duplicate.
This repository is for MeshCore Community Firmware and Client App and Ripple Firmware
- type: checkboxes
id: precheck
attributes:
label: Pre-flight checklist
options:
- label: I have searched existing issues and feature requests
required: true
- label: I understand this repository is for MeshCore Community Firmware and Client App and Ripple Firmware
required: true
- type: dropdown
id: feature_type
attributes:
label: Feature Type
description: Which part of MeshCore would this feature affect?
options:
- Firmware - Community
- Firmware - Ripple
- Client - MeshCore App
- UI - TDeck / Ripple GUI
- CLI / Tooling
- New Hardware Support
- Protocol / Routing
- Documentation
- Unsure
validations:
required: true
- type: dropdown
id: platform
attributes:
label: Target Platform
description: MCU family, if relevant.
options:
- Not platform specific
- ESP32
- nRF52
- Unsure
validations:
required: true
- type: textarea
id: problem
attributes:
label: Problem / Use Case
description: What problem does this feature solve?
validations:
required: true
- type: textarea
id: proposed_solution
attributes:
label: Proposed Solution
description: Describe the behaviour or change you would like.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Any other approaches or workarounds?
- type: textarea
id: additional
attributes:
label: Additional Context
description: Links, diagrams, examples, screenshots, or related issues.

84
.github/workflows/auto-label-issues.yml

@ -0,0 +1,84 @@
name: Auto Label Issues
on:
issues:
types:
- opened
- edited
permissions:
issues: write
contents: read
jobs:
auto-label:
runs-on: ubuntu-latest
steps:
- name: Apply labels from issue form selections
uses: actions/github-script@v7
with:
script: |
const issue = context.payload.issue;
const body = issue.body || "";
const labels = new Set();
labels.add("needs-triage");
// Area / component labels
if (body.includes("Firmware - Community")) {
labels.add("area:firmware");
labels.add("firmware:community");
}
if (body.includes("Firmware - Ripple")) {
labels.add("area:firmware");
labels.add("firmware:ripple");
}
if (body.includes("Client - MeshCore App")) {
labels.add("area:client");
}
if (body.includes("UI - TDeck / Ripple GUI")) {
labels.add("area:ui");
}
if (body.includes("CLI / Tooling")) {
labels.add("area:tooling");
}
if (body.includes("New Hardware Support")) {
labels.add("area:hardware");
}
if (body.includes("Protocol / Routing")) {
labels.add("area:protocol");
labels.add("area:routing");
}
if (body.includes("Documentation")) {
labels.add("area:documentation");
}
if (body.includes("Unsure")) {
labels.add("needs-review");
}
// Platform labels
if (body.includes("ESP32")) {
labels.add("platform:esp32");
}
if (body.includes("nRF52")) {
labels.add("platform:nrf52");
}
// Apply labels
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
labels: Array.from(labels)
});
Loading…
Cancel
Save