1# This jobset defines the main NixOS channels (such as nixos-unstable
2# and nixos-14.04). The channel is updated every time the ‘tested’ job
3# succeeds, and all other jobs have finished (they may fail).
4
5{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
6, stableBranch ? false
7, supportedSystems ? [ "x86_64-linux" ]
8, limitedSupportedSystems ? [ "i686-linux" ]
9}:
10
11let
12
13 nixpkgsSrc = nixpkgs; # urgh
14
15 pkgs = import ./.. {};
16
17 removeMaintainers = set: if builtins.isAttrs set
18 then if (set.type or "") == "derivation"
19 then set // { meta = builtins.removeAttrs (set.meta or {}) [ "maintainers" ]; }
20 else pkgs.lib.mapAttrs (n: v: removeMaintainers v) set
21 else set;
22
23 allSupportedNixpkgs = builtins.removeAttrs (removeMaintainers (import ../pkgs/top-level/release.nix {
24 supportedSystems = supportedSystems ++ limitedSupportedSystems;
25 nixpkgs = nixpkgsSrc;
26 })) [ "unstable" ];
27
28in rec {
29
30 nixos = removeMaintainers (import ./release.nix {
31 inherit stableBranch;
32 supportedSystems = supportedSystems ++ limitedSupportedSystems;
33 nixpkgs = nixpkgsSrc;
34 });
35
36 nixpkgs = builtins.removeAttrs (removeMaintainers (import ../pkgs/top-level/release.nix {
37 inherit supportedSystems;
38 nixpkgs = nixpkgsSrc;
39 })) [ "unstable" ];
40
41 tested = pkgs.lib.hydraJob (pkgs.releaseTools.aggregate {
42 name = "nixos-${nixos.channel.version}";
43 meta = {
44 description = "Release-critical builds for the NixOS channel";
45 maintainers = [ pkgs.lib.maintainers.eelco ];
46 };
47 constituents =
48 let
49 all = x: map (system: x.${system})
50 (supportedSystems ++ limitedSupportedSystems);
51 in [
52 nixos.channel
53 (all nixos.dummy)
54 (all nixos.manual)
55
56 (all nixos.iso_minimal)
57 nixos.iso_graphical.x86_64-linux
58 nixos.ova.x86_64-linux
59
60 #(all nixos.tests.containers)
61 nixos.tests.chromium
62 (all nixos.tests.firefox)
63 (all nixos.tests.firewall)
64 nixos.tests.gnome3.x86_64-linux # FIXME: i686-linux
65 nixos.tests.installer.zfsroot.x86_64-linux # ZFS is 64bit only
66 (all nixos.tests.installer.lvm)
67 (all nixos.tests.installer.luksroot)
68 (all nixos.tests.installer.separateBoot)
69 (all nixos.tests.installer.separateBootFat)
70 (all nixos.tests.installer.simple)
71 (all nixos.tests.installer.simpleLabels)
72 (all nixos.tests.installer.simpleProvided)
73 (all nixos.tests.installer.simpleUefiSystemdBoot)
74 (all nixos.tests.installer.swraid)
75 (all nixos.tests.installer.btrfsSimple)
76 (all nixos.tests.installer.btrfsSubvols)
77 (all nixos.tests.installer.btrfsSubvolDefault)
78 (all nixos.tests.boot.biosCdrom)
79 #(all nixos.tests.boot.biosUsb) # disabled due to issue #15690
80 (all nixos.tests.boot.uefiCdrom)
81 (all nixos.tests.boot.uefiUsb)
82 (all nixos.tests.boot-stage1)
83 nixos.tests.hibernate.x86_64-linux # i686 is flaky, see #23107
84 (all nixos.tests.ecryptfs)
85 (all nixos.tests.ipv6)
86 (all nixos.tests.i3wm)
87 (all nixos.tests.keymap.azerty)
88 (all nixos.tests.keymap.colemak)
89 (all nixos.tests.keymap.dvorak)
90 (all nixos.tests.keymap.dvp)
91 (all nixos.tests.keymap.neo)
92 (all nixos.tests.keymap.qwertz)
93 (all nixos.tests.plasma5)
94 #(all nixos.tests.lightdm)
95 (all nixos.tests.login)
96 (all nixos.tests.misc)
97 (all nixos.tests.nat.firewall)
98 (all nixos.tests.nat.standalone)
99 (all nixos.tests.networking.scripted.loopback)
100 (all nixos.tests.networking.scripted.static)
101 (all nixos.tests.networking.scripted.dhcpSimple)
102 (all nixos.tests.networking.scripted.dhcpOneIf)
103 (all nixos.tests.networking.scripted.bond)
104 (all nixos.tests.networking.scripted.bridge)
105 (all nixos.tests.networking.scripted.macvlan)
106 (all nixos.tests.networking.scripted.sit)
107 (all nixos.tests.networking.scripted.vlan)
108 (all nixos.tests.nfs3)
109 (all nixos.tests.nfs4)
110 (all nixos.tests.openssh)
111 (all nixos.tests.printing)
112 (all nixos.tests.proxy)
113 (all nixos.tests.sddm.default)
114 (all nixos.tests.simple)
115 (all nixos.tests.slim)
116 (all nixos.tests.udisks2)
117 (all nixos.tests.xfce)
118
119 nixpkgs.tarball
120 (all allSupportedNixpkgs.emacs)
121 (all allSupportedNixpkgs.jdk)
122 ];
123 });
124
125}