3 releases (breaking)
new 0.3.0 | May 23, 2025 |
---|---|
0.2.0 | Jan 7, 2025 |
0.1.0 | Aug 19, 2024 |
#1708 in Command line utilities
63 downloads per month
28KB
444 lines
nixpkgs-track
Track where Nixpkgs pull requests have reached (is that update in nixpkgs-unstable
yet??).
$ nixpkgs-track 370713
[370713] helix: 24.07 -> 25.01
Merged 3 days 23 hours 9 minutes and 3 seconds ago (2025-01-03T21:58:20+00:00), 1 hour 18 minutes and 54 seconds after creation.
master: ✅
staging: ✅
staging-next: ✅
nixpkgs-unstable: ✅
nixos-unstable-small: ✅
nixos-unstable: ✅
Installation
Nix
nixpkgs-track
is available in Nixpkgs.
nix run nixpkgs#nixpkgs-track
Cargo
cargo install nixpkgs-track
Usage
The simplest way to track a pull request is like so:
nixpkgs-track <PULL_REQUEST>
Where PULL_REQUEST
is either the numerical ID or the GitHub URL of the pull request to track. For example, both 370713
and https://github.com/NixOS/nixpkgs/pull/370713
are valid references to github.com/NixOS/nixpkgs/pull/370713.
[!TIP] Depending on usage, you may need to provide a GitHub API token to avoid rate-limiting. This can be done with the
--token
option orGITHUB_TOKEN
environment variable if necessary.
nixpkgs-track also supports saving a list of pull requests to check in the future.
add <PULL_REQUESTS...>
Add specified pull request(s) to the list.
remove [<PULL_REQUESTS...> | --all]
Remove specified pull request(s) from the list. Remove all pull requests from the list with --all
.
list
List tracked pull requests and their metadata.
check
Check each tracked pull request. Equivalent to running nixpkgs-track <PULL_REQUEST>
for each pull request in the list.
Library
This crate also exports a simple library interface for other programs. This is available as nixpkgs-track_lib
on crates.io.
The two primary functions are nixpkgs_track_lib::fetch_nixpkgs_pull_request
for fetching pull request data from the GitHub API, and nixpkgs_track_lib::branch_contains_commit
for checking if a commit SHA (such as from a merged pull request: PullRequest.merge_commit_sha
) is present in a specified branch on GitHub.
The implementation used for the command line interface can be found at crates/nixpkgs-track/src/main.rs
, under the check
function. See also src/commands/misc/nixpkgs.rs
of @isabelroses's Blåhaj bot for Discord.
License & Credit
nixpkgs-track was originally created as a local and reliable CLI alternative to Alyssa Ross's Nixpkgs Pull Request Tracker website and based on getchoo/nixpkgs-tracker-bot. Currently though, nixpkgs-track is primarily derived from the recent ocfox/nixpkgs-tracker project.
Dependencies
~13–25MB
~357K SLoC