How to use the command nixpkgs-review (with examples)
Nixpkgs-review is a command that allows users to review pull requests in the NixOS packages repository (nixpkgs). It performs a build of the changed packages and provides options to post a comment with a report, print a report, or build packages from a specific commit.
Use case 1: Build changed packages in the specified pull request
Code:
nixpkgs-review pr pr_number|pr_url
Motivation: When reviewing pull requests in the NixOS packages repository, it is important to build and test the changed packages to ensure they work as expected. By using this command, users can easily trigger a build of the changed packages in a specified pull request.
Explanation:
nixpkgs-review pr
: Initiates the command to review a pull request.pr_number|pr_url
: The number or URL of the pull request to be built and reviewed.
Example Output:
[1 built, 0 copied (8.9MiB), 0.4 MiB DL]
https://github.com/NixOS/nixpkgs/pull/12345
Use case 2: Build changed packages and post a comment with a report
Code:
nixpkgs-review pr --post-result pr_number|pr_url
Motivation: When reviewing a pull request, it can be beneficial to provide a report of the build results as a comment. This helps other reviewers and contributors to understand the status of the pull request. By using this command, users can build the changed packages and automatically post a comment with the build report.
Explanation:
nixpkgs-review pr
: Initiates the command to review a pull request.--post-result
: Enables the posting of a comment with the build report.pr_number|pr_url
: The number or URL of the pull request to be built and reviewed.
Example Output:
[1 built, 0 copied (8.9MiB), 0.4 MiB DL]
Build completed successfully. Report: https://github.com/NixOS/nixpkgs/pull/12345#review-build
Use case 3: Build changed packages and print a report
Code:
nixpkgs-review pr --print-result pr_number|pr_url
Motivation: When reviewing a pull request, it can be helpful to have a report of the build results without the need to access a specific URL. This allows for an easy and quick analysis of the build status directly from the command line.
Explanation:
nixpkgs-review pr
: Initiates the command to review a pull request.--print-result
: Enables the printing of the build report.pr_number|pr_url
: The number or URL of the pull request to be built and reviewed.
Example Output:
[1 built, 0 copied (8.9MiB), 0.4 MiB DL]
Build completed successfully.
Use case 4: Build changed packages in a local commit
Code:
nixpkgs-review rev HEAD
Motivation: When working on a local commit and testing changes in the NixOS packages repository, it is important to build and verify the changes. By using this command, users can build the changed packages from a local commit without pushing the changes to a remote repository.
Explanation:
nixpkgs-review rev
: Initiates the command to review a local commit.HEAD
: Refers to the latest commit in the current branch.
Example Output:
[1 built, 0 copied (8.9MiB), 0.4 MiB DL]
Use case 5: Build changed packages that haven’t been committed yet
Code:
nixpkgs-review wip
Motivation: When working on changes in the NixOS packages repository that haven’t been committed yet, it is important to test the changes before committing them. By using this command, users can build the changed packages that haven’t been committed yet, allowing for testing and verification.
Explanation:
nixpkgs-review wip
: Initiates the command to review unpublished changes.
Example Output:
[1 built, 0 copied (8.9MiB), 0.4 MiB DL]
Use case 6: Build changed packages that have been staged
Code:
nixpkgs-review wip --staged
Motivation: When working on changes in the NixOS packages repository that have been staged but not committed, it is important to test the changes before committing them. By using this command, users can build the changed packages that have been staged, allowing for testing and verification.
Explanation:
nixpkgs-review wip
: Initiates the command to review unpublished changes.--staged
: Enables the building of packages that have been staged.
Example Output:
[1 built, 0 copied (8.9MiB), 0.4 MiB DL]
Conclusion
The nixpkgs-review
command provides a convenient way to review pull requests, build changed packages, and post or print build reports. It allows for easy testing and verification of changes in the NixOS packages repository, ensuring the quality and compatibility of the packages.