I am trying to understand, how the master
/nixpkgs-unstable
/nixos-unstable-small
/nixos-unstable
branches work. Here is my current understanding;
-
PRs are almost always merged directly into
master
. -
Hydra jobs are ran on (a subset of)
master
commits. -
nixpkgs-unstable
/nixos-unstable-small
/nixos-unstable
aren’t actually “branches” in the sense that they don’t have their own separate histories, but instead they just point to some oldermaster
commits.For example, when some
master
commit passes all nixos-related builds and tests in Hydra, thenixos-unstable
ref is updated to point to that specificmaster
commit.
Nixpkgs PR progress tracker is a tool that is supposed to indicate, when some PR is available in nixpkgs-unstable
/ nixos-unstable-small
/ nixos-unstable
. However, it’s a bit confusing.
For example, consider PR 339619. Currently, the PR tracker indicates that this PR is not yet available in nixos-unstable
:
However, clicking on the nixos-unstable
link takes me to the nixos:trunk-combined:tested
Hydra jobset page. I am assuming, that each column here represents a single master
commit:
So in this case, the latest successful
nixos-unstable
job ought to be 274219620 which claims to be the job for nixos-24.11pre687768.27e30d177e57
and for “changes 06cf0e1d
to 27e30d17
”. This makes sense, as the nixos-unstable
branch on GitHub currently also points to commit 27e30d177e57
.
However, what I don’t understand is that PR 339619 was actually merged before 27e30d177e57
(in commit 47eb919436af
to be precise). In fact, 27e30d177e57
was merged 3 days ago while 47eb919436af
was merged 8 days ago.
So why is PR 339619 still not in nixos-unstable
according to the PR tracker?