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 = (import ../lib).cleanSource ./..; 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 = with pkgs.lib.maintainers; [ eelco fpletz ];
46 };
47 constituents =
48 let
49 all = x: map (system: x.${system}) supportedSystems;
50 in [
51 nixos.channel
52 (all nixos.dummy)
53 (all nixos.manual)
54
55 nixos.iso_minimal.x86_64-linux or []
56 nixos.iso_minimal.i686-linux or []
57 nixos.iso_graphical.x86_64-linux or []
58 nixos.ova.x86_64-linux or []
59
60 #(all nixos.tests.containers)
61 (all nixos.tests.containers-imperative)
62 (all nixos.tests.containers-ipv4)
63 nixos.tests.chromium.x86_64-linux or []
64 (all nixos.tests.firefox)
65 (all nixos.tests.firewall)
66 (all nixos.tests.gnome3)
67 nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only
68 (all nixos.tests.installer.lvm)
69 (all nixos.tests.installer.luksroot)
70 (all nixos.tests.installer.separateBoot)
71 (all nixos.tests.installer.separateBootFat)
72 (all nixos.tests.installer.simple)
73 (all nixos.tests.installer.simpleLabels)
74 (all nixos.tests.installer.simpleProvided)
75 (all nixos.tests.installer.simpleUefiSystemdBoot)
76 (all nixos.tests.installer.swraid)
77 (all nixos.tests.installer.btrfsSimple)
78 (all nixos.tests.installer.btrfsSubvols)
79 (all nixos.tests.installer.btrfsSubvolDefault)
80 (all nixos.tests.boot.biosCdrom)
81 #(all nixos.tests.boot.biosUsb) # disabled due to issue #15690
82 (all nixos.tests.boot.uefiCdrom)
83 (all nixos.tests.boot.uefiUsb)
84 (all nixos.tests.boot-stage1)
85 (all nixos.tests.hibernate)
86 nixos.tests.docker.x86_64-linux or []
87 (all nixos.tests.ecryptfs)
88 (all nixos.tests.env)
89 (all nixos.tests.ipv6)
90 (all nixos.tests.i3wm)
91 # 2018-06-06: keymap tests temporarily removed from tested job
92 # since non-deterministic failure are blocking the channel (#41538)
93 #(all nixos.tests.keymap.azerty)
94 #(all nixos.tests.keymap.colemak)
95 #(all nixos.tests.keymap.dvorak)
96 #(all nixos.tests.keymap.dvp)
97 #(all nixos.tests.keymap.neo)
98 #(all nixos.tests.keymap.qwertz)
99 (all nixos.tests.plasma5)
100 #(all nixos.tests.lightdm)
101 (all nixos.tests.login)
102 (all nixos.tests.misc)
103 (all nixos.tests.mutableUsers)
104 (all nixos.tests.nat.firewall)
105 (all nixos.tests.nat.firewall-conntrack)
106 (all nixos.tests.nat.standalone)
107 (all nixos.tests.networking.scripted.loopback)
108 (all nixos.tests.networking.scripted.static)
109 (all nixos.tests.networking.scripted.dhcpSimple)
110 (all nixos.tests.networking.scripted.dhcpOneIf)
111 (all nixos.tests.networking.scripted.bond)
112 (all nixos.tests.networking.scripted.bridge)
113 (all nixos.tests.networking.scripted.macvlan)
114 (all nixos.tests.networking.scripted.sit)
115 (all nixos.tests.networking.scripted.vlan)
116 (all nixos.tests.nfs3)
117 (all nixos.tests.nfs4)
118 (all nixos.tests.openssh)
119 (all nixos.tests.php-pcre)
120 (all nixos.tests.predictable-interface-names.predictable)
121 (all nixos.tests.predictable-interface-names.unpredictable)
122 (all nixos.tests.predictable-interface-names.predictableNetworkd)
123 (all nixos.tests.predictable-interface-names.unpredictableNetworkd)
124 (all nixos.tests.printing)
125 (all nixos.tests.proxy)
126 (all nixos.tests.sddm.default)
127 (all nixos.tests.simple)
128 (all nixos.tests.slim)
129 (all nixos.tests.switchTest)
130 (all nixos.tests.udisks2)
131 (all nixos.tests.xfce)
132
133 nixpkgs.tarball
134 (all allSupportedNixpkgs.emacs)
135 (all allSupportedNixpkgs.jdk)
136 ];
137 });
138
139}