The channel update process begins when anyone with commit access pushes changes to either master or one of the release-XX. XX branches. Then, for each unstable channel see above , a particular job at hydra. The nixos. Once the job succeeds at a particular nixpkgs commit, cache. When the download completes, the channel updates. For the NixOS channel command-not-found index is generated, which can take some time since it has to fetch all packages. Updates for the -unstable channels typically take a few days after commits land in the master branch.
To find out when a channel was last updated, check this page. The progress of a particular pull request can be tracked via the third-party Nixpkgs Pull Request Tracker. While of course we try to keep hydra green, it is expected that this happens every once in a while. When you want to upgrade or downgrade a single package while leaving the rest of your system on nixos-unstable, you could use this approach.
Redirected from Nix Channels. Jump to: navigation , search. This is useful for maximizing the amount of builds that are cached, but does not imply that all the jobs passed. You could imagine a deployment process that consumes the most recent build of myapp and automatically updates a local symlink:. In this case you want to deploy myapp , but you want to gate on some other build jobs succeeding too.
One solution is to make one job that depends on your other jobs. You can do that by adding a job to your hydra. If your software has one or two tests, this might work, but this will be tedious with more than a handful of jobs you want to gate on. The valuable part is the proof that all our important dependencies built successfully. Hydra displays aggregate jobs differently. The build page for an Aggregate Job lists the named constituent jobs and their statuses:. The page for the job itself also shows the constituent jobs and their status history:.
Applying a little bit more jq we can get the exact path to the myapp build:. This is especially easy if your constituents include a lot of NixOS tests, or your jobset is evaluating a lot of NixOS system closures.