From 116b0446b826c433ea7b19066fd29b1bb8aa30ab Mon Sep 17 00:00:00 2001 From: Fernando Rodrigues Date: Fri, 27 Dec 2024 18:55:26 -0300 Subject: [PATCH] ISSUE_TEMPLATE: convert the feature requests (package, module, update, 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 --- .github/ISSUE_TEMPLATE/backport_request.yml | 111 +++++++++++++++ .github/ISSUE_TEMPLATE/module_request.md | 27 ---- .github/ISSUE_TEMPLATE/module_request.yml | 110 ++++++++++++++ .../out_of_date_package_report.md | 42 ------ .github/ISSUE_TEMPLATE/package_request.yml | 134 ++++++++++++++++++ .github/ISSUE_TEMPLATE/packaging_request.md | 30 ---- .github/ISSUE_TEMPLATE/update_request.yml | 127 +++++++++++++++++ 7 files changed, 482 insertions(+), 99 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/backport_request.yml delete mode 100644 .github/ISSUE_TEMPLATE/module_request.md create mode 100644 .github/ISSUE_TEMPLATE/module_request.yml delete mode 100644 .github/ISSUE_TEMPLATE/out_of_date_package_report.md create mode 100644 .github/ISSUE_TEMPLATE/package_request.yml delete mode 100644 .github/ISSUE_TEMPLATE/packaging_request.md create mode 100644 .github/ISSUE_TEMPLATE/update_request.yml diff --git a/.github/ISSUE_TEMPLATE/backport_request.yml b/.github/ISSUE_TEMPLATE/backport_request.yml new file mode 100644 index 00000000000000..50ecad43e9feae --- /dev/null +++ b/.github/ISSUE_TEMPLATE/backport_request.yml @@ -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: | +

+ + + + + NixOS logo + + +

+ + > [!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 diff --git a/.github/ISSUE_TEMPLATE/module_request.md b/.github/ISSUE_TEMPLATE/module_request.md deleted file mode 100644 index 752011fb5449f4..00000000000000 --- a/.github/ISSUE_TEMPLATE/module_request.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: Module requests -about: For NixOS modules that you would like to see -title: 'Module request: MODULENAME' -labels: '9.needs: module (new)' -assignees: '' - ---- - -## Description - - - -## Notify maintainers - - - ------ - -Note for maintainers: Please tag this issue in your PR. - ---- - -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 diff --git a/.github/ISSUE_TEMPLATE/module_request.yml b/.github/ISSUE_TEMPLATE/module_request.yml new file mode 100644 index 00000000000000..9cd8f813dbbb6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/module_request.yml @@ -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: | +

+ + + + + NixOS logo + + +

+ + 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 diff --git a/.github/ISSUE_TEMPLATE/out_of_date_package_report.md b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md deleted file mode 100644 index da42c82ca4eab3..00000000000000 --- a/.github/ISSUE_TEMPLATE/out_of_date_package_report.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -name: Out-of-date package reports -about: For packages that are out-of-date -title: 'Update request: PACKAGENAME OLDVERSION → NEWVERSION' -labels: '9.needs: package (update)' -assignees: '' - ---- - -## Package Information - - - -- Package name: -- Latest released version: -- Current version on the unstable channel: -- Current version on the stable/release channel: - -## Checklist - - - -- [ ] Checked the [nixpkgs pull requests](https://github.com/NixOS/nixpkgs/pulls) - -## Notify maintainers - - - ---- - -Note for maintainers: Please tag this issue in your PR. - ---- - -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 diff --git a/.github/ISSUE_TEMPLATE/package_request.yml b/.github/ISSUE_TEMPLATE/package_request.yml new file mode 100644 index 00000000000000..448d329197499d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/package_request.yml @@ -0,0 +1,134 @@ +name: "Package Request" +description: "Create a package request for software that is not yet included in Nixpkgs." +title: "Package request: PACKAGENAME" +labels: ["0.kind: enhancement", "0.kind: packaging request", "9.needs: package (new)"] +body: + - type: "markdown" + attributes: + value: | +

+ + + + + NixOS logo + + +

+ + Welcome to Nixpkgs. Please replace the **`Package request: PACKAGENAME`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)). + + > [!TIP] + > For instance, if you were filing a request against the missing `hello` package, your title would be as follows: + > `Package request: 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 package 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 Package" + description: "Please include a clear and concise description of what the package is." + placeholder: "GNU `hello` is a simple 'Hello World' application." + validations: + required: true + - type: "input" + id: "homepage" + attributes: + label: "Upstream Homepage" + description: "Please copy and paste a link to the package's homepage. Leave this field blank if there is no upstream homepage." + placeholder: "https://www.gnu.org/software/hello/manual/" + validations: + required: false + - type: "input" + id: "source" + attributes: + label: "Source URL" + description: "Please copy and paste a link to the package's source code or binary download page." + placeholder: "https://ftp.gnu.org/gnu/hello/" + validations: + required: true + - type: "input" + id: "license" + attributes: + label: "License" + description: "Please indicate the package's license. If the package has no license, or the source code is not public, please indicate the package is `unfree`." + placeholder: "GNU General Public License v3.0 or later" + validations: + required: true + - type: "dropdown" + id: "platforms" + attributes: + label: "Platforms" + description: "Please indicate the platforms this package compiles for. `darwin` refers to macOS. `Exotic` refers to uncommon platforms like RISC-V or 32-bit ARM; please mention in the 'Additional Context' section below if this package is supposed to compile for such exotic platforms." + multiple: true + options: + - "x86_64-linux" + - "aarch64-linux" + - "x86_64-darwin" + - "aarch64-darwin" + - "Exotic" + validations: + required: true + - type: "textarea" + id: "additional-context" + attributes: + label: "Additional Context" + description: "Add any other context about the proposed module here." + placeholder: "This package is a required dependency for another package." + 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. Please 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%220.kind%3A+packaging+request%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 package 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: "For this package's maintainers:" + 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 and also reminds them to tag this issue in their pull requests. + 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: | + + Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.) + + --- + + 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 diff --git a/.github/ISSUE_TEMPLATE/packaging_request.md b/.github/ISSUE_TEMPLATE/packaging_request.md deleted file mode 100644 index 91175402bed3ad..00000000000000 --- a/.github/ISSUE_TEMPLATE/packaging_request.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: Packaging requests -about: For packages that are missing -title: 'Package request: PACKAGENAME' -labels: '0.kind: packaging request' -assignees: '' - ---- - -## Project description - - - -## Metadata - -* homepage URL: -* source URL: -* license: mit, bsd, gpl2+ , ... -* platforms: unix, linux, darwin, ... - ---- - -Note for maintainers: Please tag this issue in your PR. - ---- - -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 diff --git a/.github/ISSUE_TEMPLATE/update_request.yml b/.github/ISSUE_TEMPLATE/update_request.yml new file mode 100644 index 00000000000000..e892e2cda4bba4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/update_request.yml @@ -0,0 +1,127 @@ +name: "Update Request" +description: "Create an update request for an existing, but outdated package." +title: "Update Request: PACKAGENAME OLDVERSION → NEWVERSION" +labels: ["0.kind: enhancement", "9.needs: package (update)"] +body: + - type: "markdown" + attributes: + value: | +

+ + + + + NixOS logo + + +

+ + Welcome to Nixpkgs. Please replace the **`Update Request: 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, and the latest version of the package. + + > [!TIP] + > For instance, if you were filing a request against the out of date `hello` package, where the current version in Nixpkgs is 1.0.0, but the latest version upstream is 1.0.1, your title would be as follows: + > `Update Request: hello 1.0.0 → 1.0.1` + + --- + - 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 package is still out of date. + > If the package has been updated in unstable, but you believe the update should be backported to the stable release of NixOS, please file the '**Request for Backport to Stable**' form instead. + options: + - "Please select a version." + - "- Unstable (25.05)" + - "- Stable (24.11)" + - "- Oldstable (24.05)" + default: 0 + validations: + required: true + - type: "input" + id: "name" + attributes: + label: "Package Name" + description: "Please indicate the name of the package." + placeholder: "hello" + validations: + required: true + - type: "input" + id: "upstream-version" + attributes: + label: "Upstream Version" + description: "Please indicate the latest version of the package." + placeholder: "1.0.1" + validations: + required: true + - type: "input" + id: "nixpkgs-version" + attributes: + label: "Nixpkgs Version" + description: | + Please indicate the current version number in Nixpkgs' **unstable** channel. You can check this by setting the [NixOS Package Search](https://search.nixos.org/packages?channel=unstable) channel to 'unstable' and searching for the package. + If you meant to request an upgrade in the stable channel, please file the '**Request for Backport to Stable**' form instead. + placeholder: "1.0.0" + validations: + required: true + - type: "input" + id: "changelog" + attributes: + label: "Changelog" + description: "If applicable, please link the upstream changelog for the latest version." + placeholder: "https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS" + 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. Please 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+package+%28update%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 package update 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