diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index e6fc993c76566..80ca7d59cba3e 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,11 +1,6 @@ -## Issue description - - - -### Steps to reproduce - - - -## Technical details - - + diff --git a/.github/ISSUE_TEMPLATE/01_bug_report.yml b/.github/ISSUE_TEMPLATE/01_bug_report.yml new file mode 100644 index 0000000000000..c8fd6e419c13e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01_bug_report.yml @@ -0,0 +1,142 @@ +name: "Bug report (package)" +description: "Create a generic bug report against a package." +title: "PACKAGENAME: BUG TITLE" +labels: ["0.kind: bug"] +body: + - type: "markdown" + attributes: + value: | +

+ + + + + NixOS logo + + +

+ + Welcome to Nixpkgs. Please replace the **`PACKAGENAME: BUG TITLE`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)) and a short title summarising what the bug entails. + + > [!TIP] + > For instance, if you were filing a bug against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package about it failing to launch on ARM Linux, your title would be as follows: + > `hello: fails to launch on aarch64-linux` + + --- + - type: "dropdown" + id: "version" + attributes: + label: "Nixpkgs version" + description: | + What version of Nixpkgs are you using? + + > [!IMPORTANT] + > If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report. + options: + - "Please select a version." + - "- Unstable (25.05)" + - "- Stable (24.11)" + - "- Previous Stable (24.05)" + default: 0 + validations: + required: true + - type: "textarea" + id: "description" + attributes: + label: "Describe the bug" + description: "Please include a clear and concise description of what the issue is." + validations: + required: true + - type: "textarea" + id: "how-to-reproduce" + attributes: + label: "Steps to reproduce" + description: "Please include a step-by-step guide for reproducing this issue. Consider writing in concise, numbered bullet points to ensure that Nixpkgs developers can retrace your steps." + validations: + required: true + - type: "input" + id: "expected-behaviour" + attributes: + label: "Expected behaviour" + description: "Please write a concise description of what was supposed to happen." + validations: + required: true + - type: "textarea" + id: "screenshots" + attributes: + label: "Screenshots" + description: | + If applicable, add screenshots to help explain your problem. + If you need help uploading images to GitHub, please review the [relevant documentation](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#uploading-assets). + validations: + required: false + - type: "textarea" + id: "logs" + attributes: + label: "Relevant log output" + description: | + If applicable, copy and paste any relevant log output. + This will be automatically formatted into code, so no need for backticks. + render: "console" + validations: + required: false + - type: "textarea" + id: "additional-context" + attributes: + label: "Additional context" + description: "Add any other context about the problem here." + validations: + required: false + - type: "textarea" + id: "metadata" + attributes: + label: "System metadata" + description: "Please run `nix-shell -p nix-info --run \"nix-info -m\"` on a terminal and paste the output of that command here." + validations: + required: true + - type: "textarea" + id: "maintainers" + attributes: + label: "Notify maintainers" + description: | + Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. + 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 are not the result of user error. If you need help using your system and are unsure if this is a bug with Nixpkgs, please consider asking for help on the [NixOS Discourse](https://discourse.nixos.org/) or the [NixOS Matrix Space](https://matrix.to/#/#community:nixos.org) before opening an issue. + options: + - label: "I assert that this is a bug and not a support request." + required: true + - label: "I assert that this is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%220.kind%3A+bug%22+-label%3A%226.topic%3A+darwin%22+-label%3A%226.topic%3A+nixos%22). " + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve Nixpkgs! + + --- + - type: "textarea" + id: "prioritisation" + attributes: + label: "Is this issue important to you?" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/02_bug_report_darwin.yml b/.github/ISSUE_TEMPLATE/02_bug_report_darwin.yml new file mode 100644 index 0000000000000..be9f8a7055218 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02_bug_report_darwin.yml @@ -0,0 +1,156 @@ +name: "Bug report (macOS)" +description: "Create a bug report against a package where the issue only occurs on macOS." +title: "PACKAGENAME: BUG TITLE" +labels: ["0.kind: bug", "6.topic: darwin"] +body: + - type: "markdown" + attributes: + value: | +

+ + + + + NixOS logo + + +

+ + Welcome to Nixpkgs. Please replace the **`PACKAGENAME: BUG TITLE`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)) and a short title summarising what the bug entails. + + > [!TIP] + > For instance, if you were filing a bug against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package about it failing to launch on Apple Silicon, your title would be as follows: + > `hello: fails to launch on aarch64-darwin` + + --- + - type: "dropdown" + id: "version" + attributes: + label: "Nixpkgs version" + description: | + What version of Nixpkgs are you using? + + > [!IMPORTANT] + > If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report. + options: + - "Please select a version." + - "- Unstable (25.05)" + - "- Stable (24.11)" + - "- Previous Stable (24.05)" + default: 0 + validations: + required: true + - type: "textarea" + id: "description" + attributes: + label: "Describe the bug" + description: "Please include a clear and concise description of what the issue is." + validations: + required: true + - type: "textarea" + id: "how-to-reproduce" + attributes: + label: "Steps to reproduce" + description: "Please include a step-by-step guide for reproducing this issue. Consider writing in concise, numbered bullet points to ensure that Nixpkgs developers can retrace your steps." + validations: + required: true + - type: "input" + id: "expected-behaviour" + attributes: + label: "Expected behaviour" + description: "Please write a concise description of what was supposed to happen." + validations: + required: true + - type: "textarea" + id: "screenshots" + attributes: + label: "Screenshots" + description: | + If applicable, add screenshots to help explain your problem. + If you need help uploading images to GitHub, please review the [relevant documentation](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#uploading-assets). + validations: + required: false + - type: "textarea" + id: "logs" + attributes: + label: "Relevant log output" + description: | + If applicable, copy and paste any relevant log output. + This will be automatically formatted into code, so no need for backticks. + render: "console" + validations: + required: false + - type: "textarea" + id: "additional-context" + attributes: + label: "Additional context" + description: "Add any other context about the problem here." + validations: + required: false + - type: "textarea" + id: "metadata" + attributes: + label: "System metadata" + description: "Please run `nix-shell -p nix-info --run \"nix-info -m\"` on a terminal and paste the output of that command here." + validations: + required: true + - type: "dropdown" + id: "nix-darwin" + attributes: + label: "Are you using nix-darwin?" + description: | + [`nix-darwin`](https://github.com/LnL7/nix-darwin) is a set of NixOS-like modules for macOS systems. Depending on your issue, this information may be relevant. + options: + - "Yes, I am using nix-darwin." + - "No, I am not using nix-darwin." + default: 1 + validations: + required: true + - type: "textarea" + id: "maintainers" + attributes: + label: "Notify maintainers" + description: | + Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. + + If this issue is related to the Darwin packaging architecture as a whole, or is related to the core Darwin frameworks, consider mentioning the `@NixOS/darwin-core` team. + 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 are not the result of user error. If you need help using your system and are unsure if this is a bug with Nixpkgs/NixOS, please consider asking for help on the [NixOS Discourse](https://discourse.nixos.org/) or the [NixOS Matrix Space](https://matrix.to/#/#community:nixos.org) before opening an issue. + options: + - label: "I assert that this is a bug and not a support request." + required: true + - label: "I assert that this is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%220.kind%3A+bug%22+label%3A%226.topic%3A+darwin%22). " + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve Nixpkgs! + + --- + - type: "textarea" + id: "prioritisation" + attributes: + label: "Is this issue important to you?" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/03_bug_report_nixos.yml b/.github/ISSUE_TEMPLATE/03_bug_report_nixos.yml new file mode 100644 index 0000000000000..debbb928aa1a3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03_bug_report_nixos.yml @@ -0,0 +1,146 @@ +name: "Bug report (NixOS module)" +description: "Create a bug report against a NixOS Module." +title: "nixos/MODULENAME: BUG TITLE" +labels: ["0.kind: bug", "6.topic: nixos"] +body: + - type: "markdown" + attributes: + value: | +

+ + + + + NixOS logo + + +

+ + Welcome to Nixpkgs. Please replace the **`nixos/MODULENAME: BUG TITLE`** template above with the correct module name (As seen in the [NixOS Option Search](https://search.nixos.org/options)) and a short title summarising what the bug entails. + + > [!TIP] + > For instance, if you were filing a bug against the [`systemd-boot`](https://search.nixos.org/options?channel=unstable&show=boot.loader.systemd-boot.enable&from=0&size=1) module about it failing to install [`memtest86`](https://search.nixos.org/options?channel=unstable&show=boot.loader.systemd-boot.memtest86.enable&from=0&size=1), your title would be as follows: + > `nixos/systemd-boot: fails to install memtest86` + + --- + - type: "dropdown" + id: "version" + attributes: + label: "Nixpkgs version" + description: | + What version of Nixpkgs are you using? + + > [!IMPORTANT] + > If you are using an older version, please [update to the latest stable version](https://nixos.org/download) and check if the issue persists before continuing this bug report. + options: + - "Please select a version." + - "- Unstable (25.05)" + - "- Stable (24.11)" + - "- Previous Stable (24.05)" + default: 0 + validations: + required: true + - type: "textarea" + id: "description" + attributes: + label: "Describe the bug" + description: "Please include a clear and concise description of what the issue is." + validations: + required: true + - type: "textarea" + id: "how-to-reproduce" + attributes: + label: "Steps to reproduce" + description: "Please include a step-by-step guide for reproducing this issue. Consider writing in concise, numbered bullet points to ensure that Nixpkgs developers can retrace your steps." + validations: + required: true + - type: "input" + id: "expected-behaviour" + attributes: + label: "Expected behaviour" + description: "Please write a concise description of what was supposed to happen." + validations: + required: true + - type: "textarea" + id: "screenshots" + attributes: + label: "Screenshots" + description: | + If applicable, add screenshots to help explain your problem. + If you need help uploading images to GitHub, please review the [relevant documentation](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#uploading-assets). + validations: + required: false + - type: "textarea" + id: "logs" + attributes: + label: "Relevant log output" + description: | + If applicable, copy and paste any relevant log output. + This will be automatically formatted into code, so no need for backticks. + render: "console" + validations: + required: false + - type: "textarea" + id: "additional-context" + attributes: + label: "Additional context" + description: "Add any other context about the problem here." + validations: + required: false + - type: "textarea" + id: "metadata" + attributes: + label: "System metadata" + description: "Please run `nix-shell -p nix-info --run \"nix-info -m\"` on a terminal and paste the output of that command here." + validations: + required: true + - 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 module, or check the associated package's maintainers. 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 are not the result of user error. If you need help using your system and are unsure if this is a bug with Nixpkgs, please consider asking for help on the [NixOS Discourse](https://discourse.nixos.org/) or the [NixOS Matrix Space](https://matrix.to/#/#community:nixos.org) before opening an issue. + options: + - label: "I assert that this is a bug and not a support request." + required: true + - label: "I assert that this is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%220.kind%3A+bug%22+label%3A%226.topic%3A+nixos%22). " + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve Nixpkgs! + + --- + - type: "textarea" + id: "prioritisation" + attributes: + label: "Is this issue important to you?" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/04_build_failure.yml b/.github/ISSUE_TEMPLATE/04_build_failure.yml new file mode 100644 index 0000000000000..335b3146f25c2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/04_build_failure.yml @@ -0,0 +1,149 @@ +name: "Build failure" +description: "Report a package that is failing to build." +title: "Build failure: PACKAGENAME" +labels: ["0.kind: build failure"] +body: + - type: "markdown" + attributes: + value: | +

+ + + + + NixOS logo + + +

+ + Welcome to Nixpkgs. Please replace the **`Build failure: 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 build failure against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package, your title would be as follows: + > `Build failure: hello` + + --- + - type: "dropdown" + id: "version" + attributes: + label: "Nixpkgs version" + description: | + In what version of Nixpkgs did the build failure occur? + + > [!IMPORTANT] + > If you are using an older version, please update to the latest stable version and check if the build failure persists before continuing this report. + > If you are purposefully trying to build an ancient version of a package in an older Nixpkgs, please coordinate with the [NixOS Archivists](https://matrix.to/#/#archivists:nixos.org). + options: + - "Please select a version." + - "- Unstable (25.05)" + - "- Stable (24.11)" + - "- Previous Stable (24.05)" + default: 0 + validations: + required: true + - type: "textarea" + id: "how-to-reproduce" + attributes: + label: "Steps to reproduce" + description: "Please include a step-by-step guide for reproducing this build failure. Consider writing in concise, numbered bullet points to ensure that Nixpkgs developers can retrace your steps." + validations: + required: true + - type: "dropdown" + id: "hydra" + attributes: + label: "Can Hydra reproduce this build failure?" + description: | + Can [Hydra](https://hydra.nixos.org), Nixpkgs' Continuous Integration system, reproduce this build failure? + Please use the search function in the header bar to locate the last build job for the package in question. + - If there's a Red X icon near the package entry, say '**Yes, Hydra can reproduce this build failure.**' + - If there's a Dark Gray X icon near the package entry, then the build failure occurs with another package, and you need to track the original failing package by going down the chain of 'Cached failures' until you reach the final package in the failing dependency chain. Once you locate the failing package, re-write this report against that package and say '**Yes, Hydra can reproduce this build failure.**' + - If there's a Green Check Mark icon near the package entry, then it most likely means it's a local issue with your system. (Maybe you ran out of space?) + You can still open a build failure report, but please say '**No, Hydra cannot reproduce this build failure.**' below. + - If there's a Gray Question Mark icon near the package entry, say '**Hydra is currently rebuilding this package.**' + - If there's a Red Stop Sign icon near the package entry, then the build job was stopped manually. If this occurs, please coordinate with the [Infrastructure Team](https://matrix.to/#/#infra:nixos.org), and say '**The last build job was manually cancelled.**' + options: + - "Please select the Hydra Status." + - "Yes, Hydra can reproduce this build failure." + - "No, Hydra cannot reproduce this build failure." + - "Hydra is currently rebuilding this package." + - "The last build job was manually cancelled." + default: 0 + validations: + required: true + - type: "input" + id: "hydra-logs" + attributes: + label: "Link to Hydra build job" + description: "If you answered 'yes' in the question above, please copy-and-paste the link to the failing Hydra job here." + validations: + required: false + - type: "textarea" + id: "logs" + attributes: + label: "Relevant log output" + description: | + Please copy and paste the logs from the failed build. + This will be automatically formatted into code, so no need for backticks. + render: "console" + validations: + required: true + - type: "textarea" + id: "additional-context" + attributes: + label: "Additional context" + description: "Add any other context about the problem here." + validations: + required: false + - type: "textarea" + id: "metadata" + attributes: + label: "System metadata" + description: "Please run `nix-shell -p nix-info --run \"nix-info -m\"` on a terminal and paste the output of that command here." + validations: + required: true + - type: "textarea" + id: "maintainers" + attributes: + label: "Notify maintainers" + description: | + Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. + 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 are not the result of user error. If you need help using your system and are unsure if this is a bug with Nixpkgs, please consider asking for help on the [NixOS Discourse](https://discourse.nixos.org/) or the [NixOS Matrix Space](https://matrix.to/#/#community:nixos.org) before opening an issue. + options: + - label: "I assert that this is a bug and not a support request." + required: true + - label: "I assert that this is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%220.kind%3A+build+failure%22). " + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve Nixpkgs! + + --- + - type: "textarea" + id: "prioritisation" + attributes: + label: "Is this issue important to you?" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/05_package_request.yml b/.github/ISSUE_TEMPLATE/05_package_request.yml new file mode 100644 index 0000000000000..483d798bf9abb --- /dev/null +++ b/.github/ISSUE_TEMPLATE/05_package_request.yml @@ -0,0 +1,127 @@ +name: "Request: new package" +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: "Nixpkgs version" + description: | + What version of Nixpkgs 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)" + - "- Previous Stable (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." + 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." + 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." + 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`." + 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." + validations: + required: false + - type: "checkboxes" + id: "sanity-check" + attributes: + label: "I assert that this issue is relevant for Nixpkgs" + options: + - label: "I assert that this package does not yet exist in an [open pull request](https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+package+%28new%29%22) or in [Nixpkgs Unstable](https://search.nixos.org/packages?channel=unstable)." + required: true + - label: "I assert that this is not a [duplicate of any known issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%220.kind%3A+packaging+request%22)." + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve Nixpkgs! + + --- + - type: "textarea" + id: "prioritisation" + attributes: + label: "For this package's maintainers:" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/06_update_request.yml b/.github/ISSUE_TEMPLATE/06_update_request.yml new file mode 100644 index 0000000000000..a66f11fd3a3d7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/06_update_request.yml @@ -0,0 +1,120 @@ +name: "Request: package update" +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` + + > [!NOTE] + > If you are filing an update request to change a package's source to a fork, please file a new package request instead. Even if the original upstream is outdated, the fork should be considered a new package. + + --- + - type: "dropdown" + id: "version" + attributes: + label: "Nixpkgs version" + description: | + What version of Nixpkgs 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 Nixpkgs, please file the '**Request: backport to stable**' form instead. + options: + - "Please select a version." + - "- Unstable (25.05)" + - "- Stable (24.11)" + - "- Previous Stable (24.05)" + default: 0 + validations: + required: true + - type: "input" + id: "name" + attributes: + label: "Package name" + description: "Please indicate the name of the package." + validations: + required: true + - type: "input" + id: "upstream-version" + attributes: + label: "Upstream version" + description: "Please indicate the latest version of the package." + 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: backport to stable**' form instead. + validations: + required: true + - type: "input" + id: "changelog" + attributes: + label: "Changelog" + description: "If applicable, please link the upstream changelog for the latest version." + validations: + required: false + - type: "textarea" + id: "maintainers" + attributes: + label: "Notify maintainers" + description: | + Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. + 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" + options: + - label: "I assert that this package update does not yet exist in an [open pull request](https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+package+%28update%29%22) or in [Nixpkgs Unstable](https://search.nixos.org/packages?channel=unstable)." + required: true + - label: "I assert that this is not a [duplicate of any known issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%229.needs%3A+package+%28update%29%22)." + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve Nixpkgs! + + --- + - type: "textarea" + id: "prioritisation" + attributes: + label: "Is this issue important to you?" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/07_module_request.yml b/.github/ISSUE_TEMPLATE/07_module_request.yml new file mode 100644 index 0000000000000..34b4881018e9d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/07_module_request.yml @@ -0,0 +1,100 @@ +name: "Request: NixOS module" +description: "Create a new 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: "Nixpkgs version" + description: | + What version of Nixpkgs 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)" + - "- Previous Stable (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." + validations: + required: true + - type: "textarea" + id: "additional-context" + attributes: + label: "Additional context" + description: "Add any other context about the proposed module here." + validations: + required: false + - type: "textarea" + id: "maintainers" + attributes: + label: "Notify maintainers" + description: | + Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. + 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" + options: + - label: "I assert that this module does not yet exist in an [open pull request](https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+module+%28new%29%22) or in [NixOS Unstable](https://search.nixos.org/options?channel=unstable)." + required: true + - label: "I assert that this 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). " + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve NixOS! + + --- + - type: "textarea" + id: "prioritisation" + attributes: + label: "Is this issue important to you?" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/08_backport_request.yml b/.github/ISSUE_TEMPLATE/08_backport_request.yml new file mode 100644 index 0000000000000..b205d0b9d9b21 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/08_backport_request.yml @@ -0,0 +1,102 @@ +name: "Request: 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). + > Stable releases of Nixpkgs do not receive breaking changes, which include major package updates that have incompatible API changes and break backwards compatibility. In the [Semantic Versioning standard](https://semver.org/), this is the first version number. (1.X.X) + > Generally, only minor package updates, such as security patches, bug fixes and feature additions (but not removals!) will be considered for backporting. 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." + validations: + required: true + - type: "input" + id: "unstable-version" + attributes: + label: "Version in unstable" + description: "Please indicate the current version of the package in the unstable channel." + validations: + required: true + - type: "input" + id: "stable-version" + attributes: + label: "Version in stable" + description: "Please indicate the current version of the package in the stable channel." + 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." + validations: + required: false + - type: "textarea" + id: "maintainers" + attributes: + label: "Notify maintainers" + description: | + Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. + 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" + options: + - label: "I assert that this backport does not yet exist in an [open pull request](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+in%3Atitle+backport)." + required: true + - label: "I assert that this is not a [duplicate of any known issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+port+to+stable%22+)." + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve Nixpkgs! + + --- + - type: "textarea" + id: "prioritisation" + attributes: + label: "Is this issue important to you?" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/09_documentation_request.yml b/.github/ISSUE_TEMPLATE/09_documentation_request.yml new file mode 100644 index 0000000000000..5efe7f8c6005a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/09_documentation_request.yml @@ -0,0 +1,86 @@ +name: "Request: documentation" +description: "Report missing or incorrect documentation in the NixOS or Nixpkgs manuals." +title: "Missing Documentation: PACKAGENAME" +labels: ["0.kind: enhancement", "9.needs: documentation"] +body: + - type: "markdown" + attributes: + value: | +

+ + + + + NixOS logo + + +

+ + Welcome to Nixpkgs. Please replace the **`Missing Documentation: PACKAGENAME`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)) or module name (As seen in the [NixOS Option Search](https://search.nixos.org/options)). + + > [!TIP] + > For instance, if you were filing an issue against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package about it not having any NixOS-specific documentation, your title would be as follows: + > `Missing Documentation: hello` + + --- + - type: "textarea" + id: "description" + attributes: + label: "Describe the problem" + description: "Please include a clear and concise description of what the issue is." + validations: + required: true + - type: "textarea" + id: "proposal" + attributes: + label: "Proposed solution" + description: | + If possible, please draft a tentative documentation chapter to resolve this issue. + Your proposal should be written in CommonMark Markdown, optionally enhanced with [Nix-specific extensions](https://github.com/NixOS/nixpkgs/tree/master/doc#syntax). + render: "markdown" + validations: + required: false + - type: "textarea" + id: "maintainers" + attributes: + label: "Notify maintainers" + description: | + Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. + 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" + options: + - label: "I assert that this request is not already implemented in the latest [NixOS](https://nixos.org/manual/nixos/unstable/) or [Nixpkgs](https://nixos.org/manual/nixpkgs/unstable/) manuals." + required: true + - label: "I assert that this is not a [duplicate of an existing documentation issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22)." + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve Nixpkgs! + + --- + - type: "textarea" + id: "priorisation" + attributes: + label: "Is this issue important to you?" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/10_unreproducible_package.yml b/.github/ISSUE_TEMPLATE/10_unreproducible_package.yml new file mode 100644 index 0000000000000..4c22b9eb33c78 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/10_unreproducible_package.yml @@ -0,0 +1,172 @@ +name: "Unreproducible Package" +description: "Report a package that does not produce a bit-by-bit reproducible result each time it is built." +title: "Unreproducible Package: PACKAGENAME" +labels: ["0.kind: enhancement", "6.topic: reproducible builds"] +body: + - type: "markdown" + attributes: + value: | +

+ + + + + NixOS logo + + +

+ + Welcome to Nixpkgs. Please replace the **`Unreproducible Package: PACKAGENAME`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)). + + > [!NOTE] + > This form is for reporting unreproducible packages. For more information, see the [Reproducible Builds Status](https://reproducible.nixos.org/) page. + > To report a package that fails to build entirely, please use the "Build Failure" form instead. + + --- + - type: "dropdown" + id: "version" + attributes: + label: "Nixpkgs Version" + description: | + What version of Nixpkgs 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 unreproducible before continuing this report. + options: + - "Please select a version." + - "- Unstable (25.05)" + - "- Stable (24.11)" + - "- Previous Stable (24.05)" + default: 0 + validations: + required: true + - type: "textarea" + id: "introduction" + attributes: + label: "Introduction" + description: | + This is a generic introduction to build reproducibility. + Please replace **PACKAGENAME** below with the canonical package name of the package, as you have done for the title above. + value: | + Building **PACKAGENAME** multiple times does not yield bit-by-bit identical + results, complicating the detection of Continuous Integration (CI) breaches. For + more information on this issue, visit [reproducible-builds.org](https://reproducible-builds.org/). + + Fixing bit-by-bit reproducibility also has additional advantages, such as + avoiding hard-to-reproduce bugs, making content-addressed storage more effective + and reducing rebuilds in such systems. + validations: + required: true + - type: "textarea" + id: "how-to-reproduce" + attributes: + label: "Steps to reproduce" + description: | + This is a step-by-step instruction set meant for maintainers to debug the package that is failing to reproduce. You should also follow it to gather the `diffoscope` logs that will be needed below. + Please replace **PACKAGENAME** below with the canonical package name of the package, as you have done for the introduction and the title above. + value: | + ### 1. Build the package + + This step will build the package. Specific arguments are passed to the command + to keep the build artifacts so we can compare them in case of differences. + + Execute the following command: + + ``` + nix-build '' -A PACKAGENAME && nix-build '' -A PACKAGENAME --check --keep-failed + ``` + + Or using the new command line style: + + ``` + nix build nixpkgs#PACKAGENAME && nix build nixpkgs#PACKAGENAME --rebuild --keep-failed + ``` + + ### 2. Compare the build artifacts + + If the previous command completes successfully, no differences were found and + there's nothing to do, builds are reproducible. + If it terminates with the error message `error: derivation '' may not be + deterministic: output '' differs from ''`, use `diffoscope` to investigate + the discrepancies between the two build outputs. You may need to add the + `--exclude-directory-metadata recursive` option to ignore files and directories + metadata (*e.g. timestamp*) differences. + + ``` + nix run nixpkgs#diffoscopeMinimal -- --exclude-directory-metadata recursive + ``` + + ### 3. Examine the build log + + To examine the build log, use: + + ``` + nix-store --read-log $(nix-instantiate '' -A PACKAGENAME) + ``` + + Or with the new command line style: + + ``` + nix log $(nix path-info --derivation nixpkgs#PACKAGENAME) + ``` + validations: + required: true + - type: "textarea" + id: "logs" + attributes: + label: "Diffoscope log" + description: | + Please copy and paste the relevant `diffoscope` log output, gathered from the steps above. + This will be automatically formatted into a `diff`, so no need for backticks. + render: "diff" + validations: + required: true + - type: "textarea" + id: "additional-context" + attributes: + label: "Additional context" + description: "Add any other context about the problem here." + validations: + required: false + - type: "textarea" + id: "maintainers" + attributes: + label: "Notify maintainers" + description: | + Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. + 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" + options: + - label: "I assert that this is not a [duplicate of any known issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%226.topic%3A+reproducible+builds%22)." + required: true + - label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it." + required: true + - type: "markdown" + attributes: + value: | + # Thank you for helping improve Nixpkgs! + + --- + - type: "textarea" + id: "prioritisation" + attributes: + label: "Is this issue important to you?" + description: | + **Please do not modify this text area!** + + This template helps Nixpkgs 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/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index a4b757e9b4f4d..0000000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '0.kind: bug' -assignees: '' - ---- - -## Describe the bug - - - -## Steps To Reproduce - -Steps to reproduce the behavior: - -1. ... -2. ... -3. ... - -## Expected behavior - - - -## Screenshots - - - -## Additional context - - - -## Metadata - - - -## 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/build_failure.md b/.github/ISSUE_TEMPLATE/build_failure.md deleted file mode 100644 index 6df42832765bd..0000000000000 --- a/.github/ISSUE_TEMPLATE/build_failure.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -name: Build failure -about: Create a report to help us improve -title: 'Build failure: PACKAGENAME' -labels: '0.kind: build failure' -assignees: '' - ---- - -## Steps To Reproduce - -Steps to reproduce the behavior: - -1. build *X* - -## Build log - - - -
- -Build Log - -``` -``` - -
- -## Additional context - - - -## Metadata - - - -## 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/missing_documentation.md b/.github/ISSUE_TEMPLATE/missing_documentation.md deleted file mode 100644 index a7f0fd83c5bca..0000000000000 --- a/.github/ISSUE_TEMPLATE/missing_documentation.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -name: Missing or incorrect documentation -about: Help us improve the Nixpkgs and NixOS reference manuals -title: 'Documentation: ' -labels: '9.needs: documentation' -assignees: '' - ---- - -## Problem - - - -## Proposal - - - -## Checklist - - - -- [ ] checked [latest Nixpkgs manual] \([source][nixpkgs-source]) and [latest NixOS manual] \([source][nixos-source]) -- [ ] checked [open documentation issues] for possible duplicates -- [ ] checked [open documentation pull requests] for possible solutions - ---- - -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 -[latest Nixpkgs manual]: https://nixos.org/manual/nixpkgs/unstable/ -[latest NixOS manual]: https://nixos.org/manual/nixos/unstable/ -[nixpkgs-source]: https://github.com/NixOS/nixpkgs/tree/master/doc -[nixos-source]: https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual -[open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22 -[open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22 diff --git a/.github/ISSUE_TEMPLATE/module_request.md b/.github/ISSUE_TEMPLATE/module_request.md deleted file mode 100644 index 752011fb5449f..0000000000000 --- 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/out_of_date_package_report.md b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md deleted file mode 100644 index da42c82ca4eab..0000000000000 --- 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/packaging_request.md b/.github/ISSUE_TEMPLATE/packaging_request.md deleted file mode 100644 index 91175402bed3a..0000000000000 --- 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/tracking_issue.md b/.github/ISSUE_TEMPLATE/tracking_issue.md deleted file mode 100644 index a9572f5ea506f..0000000000000 --- a/.github/ISSUE_TEMPLATE/tracking_issue.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: Tracking issue -about: Provide an overview on a multi-step effort -title: 'Tracking issue: ISSUENAME' -labels: '5.scope: tracking' -assignees: '' - ---- - -### Tracking description - - - -#### Reference Issue(s)/PR(s) - -- ... - -### Follow-up issues/notes - - - -#### Additional context -Add any other context about the problem here. - ---- - -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/unreproducible_package.md b/.github/ISSUE_TEMPLATE/unreproducible_package.md deleted file mode 100644 index 83b672be31b33..0000000000000 --- a/.github/ISSUE_TEMPLATE/unreproducible_package.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -name: Unreproducible package -about: A package that does not produce a bit-by-bit reproducible result each time it is built -title: '' -labels: [ '0.kind: enhancement', '6.topic: reproducible builds' ] -assignees: '' - ---- - - - -Building this package multiple times does not yield bit-by-bit identical -results, complicating the detection of Continuous Integration (CI) breaches. For -more information on this issue, visit -[reproducible-builds.org](https://reproducible-builds.org/). - -Fixing bit-by-bit reproducibility also has additional advantages, such as -avoiding hard-to-reproduce bugs, making content-addressed storage more effective -and reducing rebuilds in such systems. - -## Steps To Reproduce - -In the following steps, replace `` with the canonical name of the -package. - -### 1. Build the package - -This step will build the package. Specific arguments are passed to the command -to keep the build artifacts so we can compare them in case of differences. - -Execute the following command: - -``` -nix-build '' -A && nix-build '' -A --check --keep-failed -``` - -Or using the new command line style: - -``` -nix build nixpkgs# && nix build nixpkgs# --rebuild --keep-failed -``` - -### 2. Compare the build artifacts - -If the previous command completes successfully, no differences were found and -there's nothing to do, builds are reproducible. -If it terminates with the error message `error: derivation '' may not be -deterministic: output '' differs from ''`, use `diffoscope` to investigate -the discrepancies between the two build outputs. You may need to add the -`--exclude-directory-metadata recursive` option to ignore files and directories -metadata (*e.g. timestamp*) differences. - -``` -nix run nixpkgs#diffoscopeMinimal -- --exclude-directory-metadata recursive -``` - -### 3. Examine the build log - -To examine the build log, use: - -``` -nix-store --read-log $(nix-instantiate '' -A ) -``` - -Or with the new command line style: - -``` -nix log $(nix path-info --derivation nixpkgs#) -``` - -## Additional context - -(please share the relevant fragment of the diffoscope output here, and any additional analysis you may have done) - -## 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/ci/OWNERS b/ci/OWNERS index bf6e070d80e4e..f15aef4ffde1f 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -14,12 +14,13 @@ # Processing of this file is implemented in workflows/codeowners-v2.yml # CI -/.github/workflows @NixOS/Security @Mic92 @zowoq @infinisil @azuwis +/.github/*_TEMPLATE* @SigmaSquadron +/.github/workflows @NixOS/Security @Mic92 @zowoq @infinisil @azuwis /.github/workflows/check-nix-format.yml @infinisil -/.github/workflows/nixpkgs-vet.yml @infinisil @philiptaron -/.github/workflows/codeowners-v2.yml @infinisil -/ci @infinisil @philiptaron @NixOS/Security -/ci/OWNERS @infinisil @philiptaron +/.github/workflows/codeowners-v2.yml @infinisil +/.github/workflows/nixpkgs-vet.yml @infinisil @philiptaron +/ci @infinisil @philiptaron @NixOS/Security +/ci/OWNERS @infinisil @philiptaron # Development support /.editorconfig @Mic92 @zowoq