Skip to content

Commit

Permalink
migrate issue templates into forms (#985)
Browse files Browse the repository at this point in the history
  • Loading branch information
2bndy5 authored Jul 15, 2024
1 parent 81348ad commit bae5111
Show file tree
Hide file tree
Showing 7 changed files with 277 additions and 51 deletions.
147 changes: 147 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
name: Report a problem
description: Create a report to let us help you
body:

# This stuff will be rendered when the user is creating the issue.
# It is not included in the issue's description when the user submits the issue
- type: markdown
attributes:
value: |-
[docs]: https://nRF24.github.io/RF24
[api-docs]: https://nrf24.github.io/RF24/classRF24.html
[common-issues]: https://github.com/nRF24/RF24/blob/master/COMMON_ISSUES.md
[platform-pages]: https://nrf24.github.io/RF24/pages.html
Please read [about common issues][common-issues] first.
It addresses the most common problems that people have (whether they know it or not).
> [!caution]
> These issues/tickets are intended **only for problems related to the RF24 library** source code.
> Please use other forums/communities to ask questions that specific to _your_ source code.
> - [Arduino Forums](https://forum.arduino.cc/)
> - [PlatformIO forums](https://community.platformio.org/)
We also host exhaustive [library documentation][docs].
Please check the [API documentation][api-docs] or [platform support pages][platform-pages] to see if your question is addressed there.
> [!important]
> Python users should migrate to using our [pyRF24](https://github.com/nRF24/pyRF24) python package.
>
> <details><summary>The pyRF24 package has numerous advantages over the older/individual python wrapper(s)</summary>
>
> - [x] [drop-in compatible](https://nrf24.github.io/pyRF24/#migrating-to-pyrf24) API
> - [x] available via [`pip install pyrf24`](https://pypi.org/project/pyrf24/)
> - [x] no need to build from source and does not require the C++ libraries installed
> - [x] includes wrappers for RF24, RF24Network, RF24Mesh libraries and a fake BLE implementation
> - [x] includes typing stubs for type checking tools like mypy
> - [x] has [dedicated documentation](https://nrf24.github.io/pyRF24) and supports Python's builtin `help()` function
>
> </details>
- type: input
id: module
attributes:
label: What radio module do you use?
description: >-
Please tell us what type of radio(s) you are using.
We are especially interested if you are using a PA/LNA variant.
placeholder: nRF24L01+ PA/LNA, nRF24L01+
validations:
required: true

- type: input
id: platform
attributes:
label: What driver board(s) do you use?
description: >-
Please tell us what board(s) you are using to drive the radio.
placeholder: Arduino UNO, RPi3, RPi Pico
validations:
required: true

- type: markdown
attributes:
value: |-
> [!warning]
> Any 64-bit Linux OS requires installing RF24 libraries with
> [our CMake instructions](https://nrf24.github.io/RF24/md_docs_2using__cmake.html).
- type: textarea
id: linux-os
attributes:
label: If using Linux, what OS are you using?
description: |-
This is only needed if you are using a Linux system to drive the radio.
Please copy and paste the output for the following command:
```text
uname -srm && lsb_release -a
```
placeholder: |-
Linux 6.6.28+rpt-rpi-v7 armv7l
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
render: text

- type: dropdown
id: linux-driver
attributes:
label: If using Linux, what RF24 driver did you select?
description: |-
These are hardware drivers that the RF24 library supports on Linux.
Please select which one you used.
> [!note]
> The `SPIDEV` driver is highly recommended and will be the only driver supported in the future.
> See rationale in [nRF24/RF24#971](https://github.com/nRF24/RF24/issues/971).
options:
- SPIDEV (linux kernel)
- RPi (BCM2835 library)
- MRAA
- wiringPi
- pigpio
- LittleWire

- type: textarea
id: user-issue
attributes:
label: Describe your problem
description: Please use as much detail as possible.
placeholder: You can use markdown syntax here
validations:
required: true

- type: markdown
id: how-to-md
attributes:
value: |-
[gfm-doc]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
GitHub supports their own flavor of MarkDown syntax.
Learn more about writing Markdown syntax in [GitHub's documentation][gfm-doc].
- type: textarea
id: rx-code
attributes:
label: What is the RX code?
description: >-
Use this area to show your relevant source code for RX behavior.
value: |-
#include <RF24.h>
// ...
render: cpp

- type: textarea
id: tx-code
attributes:
label: What is the TX code?
description: >-
Use this area to show your relevant source code for TX behavior.
value: |-
// The code for RX is same for TX.
// See above code for RX
render: cpp
21 changes: 0 additions & 21 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# this setting will force users to use the provided issue templates
blank_issues_enabled: true
# This setting may be changed in the future if the templates are not being used!

# if the templates provided don't fit the subject of the user feedback,
# here we can give links to other forms of user feedback
contact_links:
- name: Arduino Forums
url: https://forum.arduino.cc/
about: A place for questions not specific to RF24 library (for Arduino users)
- name: PlatformIO Forums
url: https://community.platformio.org/
about: A place for questions not specific to RF24 library (for PlatformIO users)
- name: Common nRF24L01 problems
url: https://nrf24.github.io/RF24/md_COMMON__ISSUES.html
about: We have documented common issues for user convenience and quick solutions
- name: RF24 API documentation
url: https://nrf24.github.io/RF24/classRF24.html
about: Our exhaustive documentation helps describe expected behavior
# This link is only useful if blank issues templates are disabled (see top of this file)
# Uncomment this list item and disable blank issue templates
# to allow only maintainers the ability to open a blank issue
# - name: Maintainers' note
# url: https://github.com/nRF24/RF24/issues/new
# about: Start a discussion for maintainers only
46 changes: 46 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Feature request
description: Suggest an idea for this project
body:
- type: textarea
id: behavior
attributes:
label: Describe the behavior you would like
description: >-
Use this area to describe what behavior you desire.
Please be clear and concise as possible.
placeholder: You can use markdown syntax here
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Propose an implementation or solution
description: >-
How do you imagine this will be implemented in code?
placeholder: You can use markdown syntax here

- type: textarea
id: alternative
attributes:
label: Describe alternatives you have considered
description: >-
Were you able to achieve the desired behavior in some other/inconvenient way?
placeholder: You can use markdown syntax here

- type: textarea
id: added-context
attributes:
label: Additional context
description: >-
If there is anything that might be special or specific to your usage, please let us know.
placeholder: You can use markdown syntax here

- type: markdown
id: how-to-md
attributes:
value: |-
[gfm-doc]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
GitHub supports their own flavor of MarkDown syntax.
Learn more about writing Markdown syntax in [GitHub's documentation][gfm-doc].
20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

10 changes: 0 additions & 10 deletions .github/ISSUE_TEMPLATE/question.md

This file was deleted.

59 changes: 59 additions & 0 deletions .github/ISSUE_TEMPLATE/question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Question
description: Have a question?
title: "[Question]: "
labels: ["question"]
body:

# This stuff will be rendered when the user is creating the issue.
# It is not included in the issue's description when the user submits the issue
- type: markdown
attributes:
value: |-
[docs]: https://nRF24.github.io/RF24
[api-docs]: https://nrf24.github.io/RF24/classRF24.html
[common-issues]: https://github.com/nRF24/RF24/blob/master/COMMON_ISSUES.md
[platform-pages]: https://nrf24.github.io/RF24/pages.html
Please read [about common issues][common-issues] first.
It addresses the most common problems that people have (whether they know it or not).
> [!caution]
> These issues/tickets are intended **only for problems related to the RF24 library** source code.
> Please use other forums/communities to ask questions that specific to _your_ source code.
> - [Arduino Forums](https://forum.arduino.cc/)
> - [PlatformIO forums](https://community.platformio.org/)
We also host exhaustive [library documentation][docs].
Please check the [API documentation][api-docs] or [platform support pages][platform-pages] to see if your question is addressed there.
> [!important]
> Python users should migrate to using our [pyRF24](https://github.com/nRF24/pyRF24) python package.
>
> <details><summary>The pyRF24 package has numerous advantages over the older/individual python wrapper(s)</summary>
>
> - [x] [drop-in compatible](https://nrf24.github.io/pyRF24/#migrating-to-pyrf24) API
> - [x] available via [`pip install pyrf24`](https://pypi.org/project/pyrf24/)
> - [x] no need to build from source and does not require the C++ libraries installed
> - [x] includes wrappers for RF24, RF24Network, RF24Mesh libraries and a fake BLE implementation
> - [x] includes typing stubs for type checking tools like mypy
> - [x] has [dedicated documentation](https://nrf24.github.io/pyRF24) and supports Python's builtin `help()` function
>
> </details>
- type: textarea
id: user-question
attributes:
# `label` is a required field here. I'm guessing that it cannot be an empty string.
label: What would you like to know?
placeholder: You can use markdown syntax here
validations:
required: true

- type: markdown
id: how-to-md
attributes:
value: |-
[gfm-doc]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
GitHub supports their own flavor of MarkDown syntax.
Learn more about writing Markdown syntax in [GitHub's documentation][gfm-doc].

0 comments on commit bae5111

Please sign in to comment.