Enable diffoscope on the provisioned instances
Eelco Dolstra committed
Dec 9, 2016 at 11:16 UTC
d1b3a3d3cd9f1b42c90da0f5d06dd76a5e380c23
4 files changed
+36
-22
delft/common.nix
+1
-21
@@ -2,22 +2,8 @@
2
3
with pkgs.lib;
4
5
-let
6
-
7
- diffoscopeWrapper = pkgs.writeScript "diffoscope-wrapper"
8
- ''
9
- #! ${pkgs.stdenv.shell}
10
- echo ""
11
- echo "non-determinism detected in $2; diff with previous round follows:"
12
- echo ""
13
- ${pkgs.utillinux}/bin/runuser -u diffoscope -- ${pkgs.diffoscope}/bin/diffoscope "$1" "$2"
14
- exit 0
15
- '';
16
-
17
-in
18
-
5
{
20
- imports = [ ./static-net-config.nix ];
6
+ imports = [ ./static-net-config.nix ./diffoscope.nix ];
7
8
system.stateVersion = "14.12";
9
@@ -68,7 +54,6 @@ in
54
nix.extraOptions =
55
''
56
allowed-impure-host-deps = /etc/protocols /etc/services /etc/nsswitch.conf
71
- diff-hook = ${diffoscopeWrapper}
57
'';
58
59
services.zabbixAgent.enable = true;
@@ -135,9 +120,4 @@ in
120
121
# Disable sending email from cron.
122
services.cron.mailto = "";
138
-
139
- # Don't run diffoscope as root.
140
- users.extraUsers.diffoscope =
141
- { description = "Diffoscope containment user";
142
- };
123
}
delft/diffoscope.nix
new
+32
@@ -0,0 +1,32 @@
1
+{ config, pkgs, ... }:
2
+
3
+with pkgs.lib;
4
+
5
+let
6
+
7
+ diffoscopeWrapper = pkgs.writeScript "diffoscope-wrapper"
8
+ ''
9
+ #! ${pkgs.stdenv.shell}
10
+ exec >&2
11
+ echo ""
12
+ echo "non-determinism detected in $2; diff with previous round follows:"
13
+ echo ""
14
+ time ${pkgs.utillinux}/bin/runuser -u diffoscope -- ${pkgs.diffoscope}/bin/diffoscope "$1" "$2"
15
+ exit 0
16
+ '';
17
+
18
+in
19
+
20
+{
21
+
22
+ nix.extraOptions =
23
+ ''
24
+ diff-hook = ${diffoscopeWrapper}
25
+ '';
26
+
27
+ # Don't run diffoscope as root.
28
+ users.extraUsers.diffoscope =
29
+ { description = "Diffoscope containment user";
30
+ };
31
+
32
+}
hydra-provisioner/conf.nix
+2
-1
@@ -7,7 +7,8 @@
7
8
systemTypes.x86_64-linux = {
9
nixopsExpr = builtins.toPath ./nixops.nix;
10
- nixPath = [ "nixpkgs=https://nixos.org/channels/nixos-16.03/nixexprs.tar.xz" ];
10
+ #nixPath = [ "nixpkgs=https://nixos.org/channels/nixos-16.03/nixexprs.tar.xz" ];
11
+ nixPath = [ "nixpkgs=/home/eelco.dolstra/src/nixpkgs" ];
12
minMachines = 0;
13
maxMachines = 12;
14
ignoredRunnables = 250;
hydra-provisioner/nixops.nix
+1
@@ -31,6 +31,7 @@ in
31
imports =
32
[ <nixpkgs/nixos/modules/profiles/minimal.nix>
33
<hydra-provisioner/auto-shutdown.nix>
34
+ ../delft/diffoscope.nix
35
];
36
37
users.extraUsers.root.openssh.authorizedKeys.keys =