Skip to content

Commit

Permalink
ISSUE_TEMPLATE: convert the feature requests (package, module, update…
Browse files Browse the repository at this point in the history
…, backport requests) into YAML forms

The out of date package report was split into two forms: an update request and a backport request.

Signed-off-by: Fernando Rodrigues <[email protected]>
  • Loading branch information
SigmaSquadron committed Dec 27, 2024
1 parent 7023fee commit 116b044
Show file tree
Hide file tree
Showing 7 changed files with 482 additions and 99 deletions.
111 changes: 111 additions & 0 deletions .github/ISSUE_TEMPLATE/backport_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: "Backport to Stable"
description: "Create a backport request for a package that is up-to-date in the unstable channel, but outdated in the stable channel."
title: "Backport to Stable: PACKAGENAME OLDVERSION → NEWVERSION"
labels: ["0.kind: enhancement", "9.needs: port to stable"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png">
<img src="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
> [!CAUTION]
> **Before you begin:** Be advised that backports are subject to the [release suitability guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases). As a rule of thumb, Nixpkgs Stable will almost never recieve breaking changes in the form of major package updates, but minor updates and bugfixes should be backported when possible.
> Please read the rules above carefully before filing this backport request.
Welcome to Nixpkgs. Please replace the **`Backport to Stable: PACKAGENAME OLDVERSION → NEWVERSION`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)), the current version of the package in Nixpkgs Stable and the current version of the package in Nixpkgs Unstable.
> [!TIP]
> For instance, if you were filing a request against the out of date `hello` package, where the current version in Nixpkgs Unstable is 1.0.1, but the current version in Nixpkgs Stable is 1.0.0, your title would be as follows:
> `Backport to Stable: hello 1.0.0 → 1.0.1`
---
- type: "input"
id: "name"
attributes:
label: "Package Name"
description: "Please indicate the name of the package."
placeholder: "hello"
validations:
required: true
- type: "input"
id: "unstable-version"
attributes:
label: "Version in Unstable"
description: "Please indicate the current version of the package in Nixpkgs Unstable."
placeholder: "1.0.1"
validations:
required: true
- type: "input"
id: "stable-version"
attributes:
label: "Version in Stable"
description: "Please indicate the current version of the package in Nixpkgs Stable."
placeholder: "1.0.0"
validations:
required: true
- type: "textarea"
id: "reasoning"
attributes:
label: "Reasoning for Backport"
description: "Please briefly explain why this backport fits the [release suitability guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases) and why you think this update should be backported."
placeholder: "This update should be backported because it only includes bugfixes, and no breaking changes."
validations:
required: false
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify Maintainers"
description: |
Please mention the people who are in the `meta.maintainers` list of the offending package. This is done by prefixing the person's username with an '@' character. You can quickly go to the `meta` attribute set of a package by searching for it on the [NixOS Package Search](https://search.nixos.org/packages) and clicking the "📦 Source" button.
Please note that the maintainer attribute name does not always match the maintainer's GitHub username. If that occurs, try looking in [`maintainers/maintainer-list.nix`](https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix) for the maintainer attribute name, and checking if the maintainer has a listed GitHub username.
If in doubt, check `git blame` for whoever last touched the package. Please add the mentions above the `---` characters.
value: |
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
description: |
This bug tracker is for actionable issues that have not [already been resolved](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+in%3Atitle+backport). Please ensure that this bug report is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+in%3Atitle+backport), and that you have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it while communicating in any NixOS space.
options:
- label: "I assert that this backport does not yet exist in an open pull request."
required: true
- label: "I assert that this is not a duplicate of any known issue."
required: true
- label: "I assert that I have read the Code of Conduct and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve NixOS!
---
- type: "textarea"
id: "priorisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps NixOS developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
27 changes: 0 additions & 27 deletions .github/ISSUE_TEMPLATE/module_request.md

This file was deleted.

110 changes: 110 additions & 0 deletions .github/ISSUE_TEMPLATE/module_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: "Module Request"
description: "Create a NixOS Module request for an existing package."
title: "Module Request: nixos/MODULENAME"
labels: ["0.kind: enhancement", "6.topic: nixos", "9.needs: module (new)"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png">
<img src="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
Welcome to Nixpkgs. Please replace the **`Module Request: nixos/MODULENAME`** template above with the correct module name (As seen in the [NixOS Option Search](https://search.nixos.org/options)).
> [!TIP]
> For instance, if you were filing a request against the missing `hello` module, your title would be as follows:
> `Module Request: nixos/hello`
---
- type: "dropdown"
id: "version"
attributes:
label: "NixOS Version"
description: |
What version of NixOS are you using?
> [!IMPORTANT]
> If you are using an older or stable version, please update to the latest **unstable** version and check if the module still does not exist before continuing this request.
options:
- "Please select a version."
- "- Unstable (25.05)"
- "- Stable (24.11)"
- "- Oldstable (24.05)"
default: 0
validations:
required: true
- type: "textarea"
id: "description"
attributes:
label: "Describe the Proposed Module"
description: "Please include a clear and concise description of what the module should accomplish."
placeholder: "GNU `hello` needs a systemd service to start the server-side Hello World application."
validations:
required: true
- type: "textarea"
id: "additional-context"
attributes:
label: "Additional Context"
description: "Add any other context about the proposed module here."
placeholder: "This was originally discussed in the NixOS Hello World Team."
validations:
required: false
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify Maintainers"
description: |
Please mention the people who are in the `meta.maintainers` list of the offending module. This is done by prefixing the person's username with an '@' character. You can quickly go to the source code of a module by searching for it on the [NixOS Option Search](https://search.nixos.org/options) and clicking the "Declared in..." button.
Please note that the maintainer attribute name does not always match the maintainer's GitHub username. If that occurs, try looking in [`maintainers/maintainer-list.nix`](https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix) for the maintainer attribute name, and checking if the maintainer has a listed GitHub username.
If in doubt, check `git blame` for whoever last touched the package. Please add the mentions above the `---` characters.
value: |
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
description: |
This bug tracker is for actionable issues that have not already been resolved. If you believe this module requires additional community feedback and discussion, please consider posting about your module idea on the [NixOS Discourse](https://discourse.nixos.org/) before opening an issue. This should only be necessary for all-encompassing system modules.
Please also ensure that this bug report is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%229.needs%3A+module+%28new%29%22), and that you have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it while communicating in any NixOS space.
options:
- label: "I assert that this module does not yet exist in an open pull request or in NixOS Unstable."
required: true
- label: "I assert that this is not a duplicate of any known issue."
required: true
- label: "I assert that I have read the Code of Conduct and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve NixOS!
---
- type: "textarea"
id: "priorisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps NixOS developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
42 changes: 0 additions & 42 deletions .github/ISSUE_TEMPLATE/out_of_date_package_report.md

This file was deleted.

Loading

0 comments on commit 116b044

Please sign in to comment.