A tool to automatically build and test packages changed in NixOS/nixpkgs pull requests.
nixpkgs-review is a tool for NixOS/nixpkgs contributors that automates building and testing packages affected by pull requests or local changes. It fetches the changes, evaluates what needs to be rebuilt, and provides an environment to test the results, ensuring packages work correctly before merging.
NixOS and nixpkgs contributors, maintainers, and package reviewers who need to verify that changes to the package set do not introduce build failures or regressions.
It saves significant manual effort by automating the build and test cycle for nixpkgs changes, integrates seamlessly with GitHub workflows, and offers flexible options for different review scenarios like cross-compilation or partial builds.
Review pull-requests on https://github.com/NixOS/nixpkgs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Fetches PR changes, determines affected packages using ofborg or local evaluation, and builds them automatically, reducing manual steps as shown in the usage examples.
Provides a nix-shell with successfully built packages for hands-on testing, allowing direct verification of functionality, as demonstrated in the README output.
Can post formatted build reports as PR comments and even approve or merge PRs, enhancing collaboration workflows, with support for GitHub tokens via gh or manual setup.
Supports building subsets of packages, cross-compilation, remote builders, and NixOS tests, catering to various review scenarios like mass-rebuilds or specific architectures.
As admitted in the README, pkgsMusl and pkgsStatic do not support full evaluation, requiring manual package specification with --package, which adds complexity.
The --sandbox flag is experimental and may break package tests, reducing reliability for secure testing, and it requires bubblewrap installation.
Full functionality like posting results requires a GitHub token, adding setup overhead and potential rate limit issues for unauthenticated requests.
Local builds can be slow and compute-heavy, especially for large PRs, without configured remote builders, impacting review speed on limited hardware.