mirror of https://github.com/meshcore-dev/MeshCore
committed by
GitHub
4 changed files with 301 additions and 0 deletions
@ -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. |
||||
@ -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. |
||||
@ -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. |
||||
@ -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…
Reference in new issue