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{
6 nixpkgs ? {
7 outPath = (import ../lib).cleanSource ./..;
8 revCount = 56789;
9 shortRev = "gfedcba";
10 },
11 stableBranch ? false,
12 supportedSystems ? [
13 "aarch64-linux"
14 "x86_64-linux"
15 ],
16 limitedSupportedSystems ? [ ],
17}:
18
19let
20
21 nixpkgsSrc = nixpkgs; # urgh
22
23 pkgs = import ./.. { };
24
25 removeMaintainers =
26 set:
27 if builtins.isAttrs set then
28 if (set.type or "") == "derivation" then
29 set // { meta = builtins.removeAttrs (set.meta or { }) [ "maintainers" ]; }
30 else
31 pkgs.lib.mapAttrs (n: v: removeMaintainers v) set
32 else
33 set;
34
35in
36rec {
37
38 nixos = removeMaintainers (
39 import ./release.nix {
40 inherit stableBranch;
41 supportedSystems = supportedSystems ++ limitedSupportedSystems;
42 nixpkgs = nixpkgsSrc;
43 }
44 );
45
46 nixpkgs = builtins.removeAttrs (removeMaintainers (
47 import ../pkgs/top-level/release.nix {
48 inherit supportedSystems;
49 nixpkgs = nixpkgsSrc;
50 }
51 )) [ "unstable" ];
52
53 tested =
54 let
55 onFullSupported = x: map (system: "${x}.${system}") supportedSystems;
56 onAllSupported = x: map (system: "${x}.${system}") (supportedSystems ++ limitedSupportedSystems);
57 onSystems =
58 systems: x:
59 map (system: "${x}.${system}") (
60 pkgs.lib.intersectLists systems (supportedSystems ++ limitedSupportedSystems)
61 );
62 in
63 pkgs.releaseTools.aggregate {
64 name = "nixos-${nixos.channel.version}";
65 meta = {
66 description = "Release-critical builds for the NixOS channel";
67 maintainers = with pkgs.lib.maintainers; [ ];
68 };
69 constituents = pkgs.lib.concatLists [
70 [ "nixos.channel" ]
71 (onFullSupported "nixos.dummy")
72 (onAllSupported "nixos.iso_minimal")
73 (onSystems [ "x86_64-linux" "aarch64-linux" ] "nixos.amazonImage")
74 (onFullSupported "nixos.iso_graphical")
75 (onFullSupported "nixos.manual")
76 (onSystems [ "aarch64-linux" ] "nixos.sd_image")
77 (onFullSupported "nixos.tests.acme.http01-builtin")
78 (onFullSupported "nixos.tests.acme.dns01")
79 (onSystems [ "x86_64-linux" ] "nixos.tests.boot.biosCdrom")
80 (onSystems [ "x86_64-linux" ] "nixos.tests.boot.biosUsb")
81 (onFullSupported "nixos.tests.boot-stage1")
82 (onFullSupported "nixos.tests.boot.uefiCdrom")
83 (onFullSupported "nixos.tests.boot.uefiUsb")
84 (onFullSupported "nixos.tests.chromium")
85 (onFullSupported "nixos.tests.containers-imperative")
86 (onFullSupported "nixos.tests.containers-ip")
87 (onSystems [ "x86_64-linux" ] "nixos.tests.docker")
88 (onFullSupported "nixos.tests.env")
89
90 # Way too many manual retries required on Hydra.
91 # Apparently it's hard to track down the cause.
92 # So let's depend just on the packages for now.
93 #(onFullSupported "nixos.tests.firefox-esr")
94 #(onFullSupported "nixos.tests.firefox")
95 # Note: only -unwrapped variants have a Hydra job.
96 (onFullSupported "nixpkgs.firefox-esr-unwrapped")
97 (onFullSupported "nixpkgs.firefox-unwrapped")
98
99 (onFullSupported "nixos.tests.firewall")
100 (onFullSupported "nixos.tests.fontconfig-default-fonts")
101 (onFullSupported "nixos.tests.gitlab")
102 (onFullSupported "nixos.tests.gnome")
103 (onFullSupported "nixos.tests.gnome-xorg")
104 (onSystems [ "x86_64-linux" ] "nixos.tests.hibernate")
105 (onFullSupported "nixos.tests.i3wm")
106 (onSystems [ "aarch64-linux" ] "nixos.tests.installer.simpleUefiSystemdBoot")
107 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSimple")
108 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSubvolDefault")
109 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSubvolEscape")
110 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSubvols")
111 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.luksroot")
112 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.lvm")
113 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.separateBootZfs")
114 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.separateBootFat")
115 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.separateBoot")
116 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.simpleLabels")
117 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.simpleProvided")
118 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.simpleUefiSystemdBoot")
119 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.simple")
120 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.swraid")
121 (onSystems [ "x86_64-linux" ] "nixos.tests.installer.zfsroot")
122 (onSystems [ "x86_64-linux" ] "nixos.tests.nixos-rebuild-specialisations")
123 (onFullSupported "nixos.tests.nix-misc.default")
124 (onFullSupported "nixos.tests.ipv6")
125 (onFullSupported "nixos.tests.keymap.azerty")
126 (onFullSupported "nixos.tests.keymap.colemak")
127 (onFullSupported "nixos.tests.keymap.dvorak")
128 (onFullSupported "nixos.tests.keymap.dvorak-programmer")
129 (onFullSupported "nixos.tests.keymap.neo")
130 (onFullSupported "nixos.tests.keymap.qwertz")
131 (onFullSupported "nixos.tests.latestKernel.login")
132 (onFullSupported "nixos.tests.lightdm")
133 (onFullSupported "nixos.tests.login")
134 (onFullSupported "nixos.tests.misc")
135 (onFullSupported "nixos.tests.mutableUsers")
136 (onFullSupported "nixos.tests.nat.firewall")
137 (onFullSupported "nixos.tests.nat.standalone")
138 (onFullSupported "nixos.tests.networking.scripted.bond")
139 (onFullSupported "nixos.tests.networking.scripted.bridge")
140 (onFullSupported "nixos.tests.networking.scripted.dhcpOneIf")
141 (onFullSupported "nixos.tests.networking.scripted.dhcpSimple")
142 (onFullSupported "nixos.tests.networking.scripted.link")
143 (onFullSupported "nixos.tests.networking.scripted.loopback")
144 (onFullSupported "nixos.tests.networking.scripted.macvlan")
145 (onFullSupported "nixos.tests.networking.scripted.privacy")
146 (onFullSupported "nixos.tests.networking.scripted.routes")
147 (onFullSupported "nixos.tests.networking.scripted.sit-fou")
148 (onFullSupported "nixos.tests.networking.scripted.static")
149 (onFullSupported "nixos.tests.networking.scripted.virtual")
150 (onFullSupported "nixos.tests.networking.scripted.vlan")
151 (onFullSupported "nixos.tests.networking.networkd.bond")
152 (onFullSupported "nixos.tests.networking.networkd.bridge")
153 (onFullSupported "nixos.tests.networking.networkd.dhcpOneIf")
154 (onFullSupported "nixos.tests.networking.networkd.dhcpSimple")
155 (onFullSupported "nixos.tests.networking.networkd.link")
156 (onFullSupported "nixos.tests.networking.networkd.loopback")
157 # Fails nondeterministically (https://github.com/NixOS/nixpkgs/issues/96709)
158 #(onFullSupported "nixos.tests.networking.networkd.macvlan")
159 (onFullSupported "nixos.tests.networking.networkd.privacy")
160 (onFullSupported "nixos.tests.networking.networkd.routes")
161 (onFullSupported "nixos.tests.networking.networkd.sit-fou")
162 (onFullSupported "nixos.tests.networking.networkd.static")
163 (onFullSupported "nixos.tests.networking.networkd.virtual")
164 (onFullSupported "nixos.tests.networking.networkd.vlan")
165 (onFullSupported "nixos.tests.systemd-networkd-ipv6-prefix-delegation")
166 (onFullSupported "nixos.tests.nfs4.simple")
167 (onSystems [ "x86_64-linux" ] "nixos.tests.oci-containers.podman")
168 (onFullSupported "nixos.tests.openssh")
169 (onFullSupported "nixos.tests.initrd-network-ssh")
170 (onFullSupported "nixos.tests.pantheon")
171 (onFullSupported "nixos.tests.php.fpm")
172 (onFullSupported "nixos.tests.php.httpd")
173 (onFullSupported "nixos.tests.php.pcre")
174 (onFullSupported "nixos.tests.plasma6")
175 (onSystems [ "x86_64-linux" ] "nixos.tests.podman")
176 (onFullSupported "nixos.tests.predictable-interface-names.predictableNetworkd")
177 (onFullSupported "nixos.tests.predictable-interface-names.predictable")
178 (onFullSupported "nixos.tests.predictable-interface-names.unpredictableNetworkd")
179 (onFullSupported "nixos.tests.predictable-interface-names.unpredictable")
180 (onFullSupported "nixos.tests.printing-service")
181 (onFullSupported "nixos.tests.printing-socket")
182 (onFullSupported "nixos.tests.proxy")
183 (onFullSupported "nixos.tests.sddm.default")
184 (onFullSupported "nixos.tests.shadow")
185 (onFullSupported "nixos.tests.simple")
186 (onFullSupported "nixos.tests.sway")
187 (onFullSupported "nixos.tests.switchTest")
188 (onFullSupported "nixos.tests.udisks2")
189 (onFullSupported "nixos.tests.xfce")
190 (onFullSupported "nixpkgs.emacs")
191 (onFullSupported "nixpkgs.jdk")
192 (onSystems [ "x86_64-linux" ] "nixpkgs.mesa_i686") # i686 sanity check + useful
193 [
194 "nixpkgs.tarball"
195 "nixpkgs.release-checks"
196 ]
197 ];
198 };
199}