Channel branches: Difference between revisions

imported>Raboof
link to channel history
imported>Dustinlacewell
Merge channel update information from http://howoldis.herokuapp.com/
Line 49: Line 49:
== Channel update process ==
== Channel update process ==


Each <code>unstable</code> channel has a particular job at [https://hydra.nixos.org hydra.nixos.org] which must succeed:
Channels are updated when anyone with commit access pushes changes to either master or one of the release-XX.XX branches.
 
=== Hydra Build ===
 
Then, for each <code>unstable</code> channel, a particular job at [https://hydra.nixos.org hydra.nixos.org] is started which must succeed:


* For NixOS: the [http://hydra.nixos.org/job/nixos/trunk-combined/tested trunk-combined/tested] job, which includes some automated NixOS tests.
* For NixOS: the [http://hydra.nixos.org/job/nixos/trunk-combined/tested trunk-combined/tested] job, which includes some automated NixOS tests.
*  For nixos-small: the [http://hydra.nixos.org/job/nixos/unstable-small/tested unstable-small/tested] job.
*  For nixos-small: the [http://hydra.nixos.org/job/nixos/unstable-small/tested unstable-small/tested] job.
*  For nixpkgs: the [http://hydra.nixos.org/job/nixpkgs/trunk/unstable trunk/unstable] job, which contains some critical release packages.
*  For nixpkgs: the [http://hydra.nixos.org/job/nixpkgs/trunk/unstable trunk/unstable] job, which contains some critical release packages.
=== Success Conditions ===
For a channel update to succeed, two conditions need to be satisfied:
* Particular jobset evaluation needs to be completely built ie. no more queued jobs, even if some jobs may fail
* Particular jobset evaluation's tested/unstable job needs to be built succesfully
The nixos.org server has a cronjob for which nixos-channel-scripts are executed and poll for the newest jobset that satisfies the above two conditions and trigger a channel update.
=== Channel Update ===


Once the job succeeds at a particular nixpkgs commit, cache.nixos.org will download binaries from [https://hydra.nixos.org hydra.nixos.org]. When the download completes, the channel updates.
Once the job succeeds at a particular nixpkgs commit, cache.nixos.org will download binaries from [https://hydra.nixos.org hydra.nixos.org]. When the download completes, the channel updates.
For the <code>NixOS</code> channel command-not-found index is generated, which can take some time since it has to fetch all packages. <code>nixpkgs</code> is quickly updated since none of the above needs to happen once a channel update is triggered.


To find out when a channel was last updated, check [https://status.nixos.org/ this] page.
To find out when a channel was last updated, check [https://status.nixos.org/ this] page.