tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
Quick hack to reduce Hydra memory consumption
Eelco Dolstra
11 years ago
e6b9656e
f8284a08
+19
-17
1 changed file
expand all
collapse all
unified
split
nixos
release.nix
+19
-17
nixos/release.nix
···
11
12
forAllSystems = pkgs.lib.genAttrs supportedSystems;
13
14
-
callTest = fn: args: forAllSystems (system: import fn ({ inherit system; } // args));
0
0
15
16
pkgs = import nixpkgs { system = "x86_64-linux"; };
17
···
40
41
in
42
# Declare the ISO as a build product so that it shows up in Hydra.
43
-
runCommand "nixos-iso-${config.system.nixosVersion}"
44
{ meta = {
45
description = "NixOS installation CD (${description}) - ISO image for ${system}";
46
maintainers = map (x: lib.getAttr x lib.maintainers) maintainers;
···
51
''
52
mkdir -p $out/nix-support
53
echo "file iso" $iso/iso/*.iso* >> $out/nix-support/hydra-build-products
54
-
''; # */
55
56
57
makeSystemTarball =
···
78
};
79
80
81
-
makeClosure = module: forAllSystems (system: (import ./lib/eval-config.nix {
82
inherit system;
83
modules = [ module ] ++ lib.singleton
84
({ config, lib, ... }:
···
171
172
in
173
# Declare the OVA as a build product so that it shows up in Hydra.
174
-
runCommand "nixos-ova-${config.system.nixosVersion}-${system}"
175
{ meta = {
176
description = "NixOS VirtualBox appliance (${system})";
177
maintainers = lib.maintainers.eelco;
···
182
mkdir -p $out/nix-support
183
fn=$(echo $ova/*.ova)
184
echo "file ova $fn" >> $out/nix-support/hydra-build-products
185
-
'' # */
186
187
);
188
···
222
tests.firefox = callTest tests/firefox.nix {};
223
tests.firewall = callTest tests/firewall.nix {};
224
tests.gnome3 = callTest tests/gnome3.nix {};
225
-
tests.installer.efi = forAllSystems (system: (import tests/installer.nix { inherit system; }).efi.test);
226
-
tests.installer.grub1 = forAllSystems (system: (import tests/installer.nix { inherit system; }).grub1.test);
227
-
tests.installer.lvm = forAllSystems (system: (import tests/installer.nix { inherit system; }).lvm.test);
228
-
tests.installer.rebuildCD = forAllSystems (system: (import tests/installer.nix { inherit system; }).rebuildCD.test);
229
-
tests.installer.separateBoot = forAllSystems (system: (import tests/installer.nix { inherit system; }).separateBoot.test);
230
-
tests.installer.simple = forAllSystems (system: (import tests/installer.nix { inherit system; }).simple.test);
231
-
tests.installer.simpleLabels = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleLabels.test);
232
-
tests.installer.simpleProvided = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleProvided.test);
233
-
tests.installer.btrfsSimple = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSimple.test);
234
-
tests.installer.btrfsSubvols = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvols.test);
235
-
tests.installer.btrfsSubvolDefault = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvolDefault.test);
236
tests.influxdb = callTest tests/influxdb.nix {};
237
tests.ipv6 = callTest tests/ipv6.nix {};
238
tests.jenkins = callTest tests/jenkins.nix {};
···
11
12
forAllSystems = pkgs.lib.genAttrs supportedSystems;
13
14
+
scrubDrv = drv: let res = { inherit (drv) drvPath outPath type name; outputName = "out"; out = res; }; in res;
15
+
16
+
callTest = fn: args: forAllSystems (system: scrubDrv (import fn ({ inherit system; } // args)));
17
18
pkgs = import nixpkgs { system = "x86_64-linux"; };
19
···
42
43
in
44
# Declare the ISO as a build product so that it shows up in Hydra.
45
+
scrubDrv (runCommand "nixos-iso-${config.system.nixosVersion}"
46
{ meta = {
47
description = "NixOS installation CD (${description}) - ISO image for ${system}";
48
maintainers = map (x: lib.getAttr x lib.maintainers) maintainers;
···
53
''
54
mkdir -p $out/nix-support
55
echo "file iso" $iso/iso/*.iso* >> $out/nix-support/hydra-build-products
56
+
''); # */
57
58
59
makeSystemTarball =
···
80
};
81
82
83
+
makeClosure = module: forAllSystems (system: scrubDrv (import ./lib/eval-config.nix {
84
inherit system;
85
modules = [ module ] ++ lib.singleton
86
({ config, lib, ... }:
···
173
174
in
175
# Declare the OVA as a build product so that it shows up in Hydra.
176
+
scrubDrv (runCommand "nixos-ova-${config.system.nixosVersion}-${system}"
177
{ meta = {
178
description = "NixOS VirtualBox appliance (${system})";
179
maintainers = lib.maintainers.eelco;
···
184
mkdir -p $out/nix-support
185
fn=$(echo $ova/*.ova)
186
echo "file ova $fn" >> $out/nix-support/hydra-build-products
187
+
'') # */
188
189
);
190
···
224
tests.firefox = callTest tests/firefox.nix {};
225
tests.firewall = callTest tests/firewall.nix {};
226
tests.gnome3 = callTest tests/gnome3.nix {};
227
+
tests.installer.efi = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).efi.test);
228
+
tests.installer.grub1 = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).grub1.test);
229
+
tests.installer.lvm = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).lvm.test);
230
+
tests.installer.rebuildCD = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).rebuildCD.test);
231
+
tests.installer.separateBoot = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).separateBoot.test);
232
+
tests.installer.simple = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).simple.test);
233
+
tests.installer.simpleLabels = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).simpleLabels.test);
234
+
tests.installer.simpleProvided = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).simpleProvided.test);
235
+
tests.installer.btrfsSimple = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).btrfsSimple.test);
236
+
tests.installer.btrfsSubvols = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).btrfsSubvols.test);
237
+
tests.installer.btrfsSubvolDefault = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).btrfsSubvolDefault.test);
238
tests.influxdb = callTest tests/influxdb.nix {};
239
tests.ipv6 = callTest tests/ipv6.nix {};
240
tests.jenkins = callTest tests/jenkins.nix {};