svn path=/configurations/trunk/tud/; revision=15085
svn path=/configurations/trunk/tud/; revision=15085
Eelco Dolstra committed
Apr 16, 2009 at 13:03 UTC
f79d7cf4e4a85e30f6f5350dc4a87402df03d076
4 files changed
+37
-10
build-machines.nix
+1
@@ -14,6 +14,7 @@
14
fileSystems = [
15
{ mountPoint = "/";
16
label = "nixos";
17
+ options = "noatime";
18
}
19
];
20
cartman.nix
+30
-8
@@ -38,13 +38,13 @@ rec {
38
extraKernelModules = ["arcmsr"];
39
};
40
kernelModules = ["kvm-intel"];
41
- kernelPackages = pkgs: pkgs.kernelPackages_2_6_25;
41
+ kernelPackages = pkgs: pkgs.kernelPackages_2_6_27;
42
};
43
44
fileSystems = [
45
{ mountPoint = "/";
46
label = "nixos";
47
- options = "acl";
47
+ options = "acl,noatime";
48
}
49
];
50
@@ -53,13 +53,20 @@ rec {
53
];
54
55
nix = {
56
- maxJobs = 1;
56
+ maxJobs = 0;
57
distributedBuilds = true;
58
inherit buildMachines;
59
extraOptions = ''
60
+ gc-keep-outputs = true
61
+
62
# The default (`true') slows Nix down a lot since the build farm
63
# has so many GC roots.
64
gc-check-reachability = false
65
+
66
+ # Hydra needs caching of build failures.
67
+ build-cache-failure = true
68
+
69
+ build-poll-interval = 10
70
'';
71
};
72
@@ -82,7 +89,7 @@ rec {
89
nameservers = ["130.161.158.4" "130.161.33.17" "130.161.180.1"];
90
91
extraHosts =
85
- let toHosts = m: "${m.ipAddress} ${m.hostName} ${pkgs.lib.concatStringsSep " " m.aliases}\n"; in
92
+ let toHosts = m: "${m.ipAddress} ${m.hostName} ${pkgs.lib.concatStringsSep " " (if m ? aliases then m.aliases else [])}\n"; in
93
pkgs.lib.concatStrings (map toHosts machineList);
94
95
localCommands =
@@ -123,14 +130,14 @@ rec {
130
"45 ${toString hour} * * * buildfarm (cd /etc/nixos/release/index && PATH=${pkgs.saxonb}/bin:$PATH ./make-index.sh ${dir} ${url} /releases.css) | ${pkgs.utillinux}/bin/logger -t index";
131
in
132
[
126
- "25 5 * * * root (TZ=CET date; ${pkgs.rsync}/bin/rsync -razv --numeric-ids --delete /data/subversion* /data/vm /data/pt-wiki /data/postgresql unixhome.st.ewi.tudelft.nl::bfarm/) >> /var/log/backup.log 2>&1"
133
+ "15 0 * * * root (TZ=CET date; ${pkgs.rsync}/bin/rsync -razv --numeric-ids --delete /data/subversion* /data/vm /data/pt-wiki /data/postgresql /data/webserver/tarballs /home/buildfarm/hydra unixhome.st.ewi.tudelft.nl::bfarm/) >> /var/log/backup.log 2>&1"
134
135
# Releases indices.
136
(indexJob 01 "/data/webserver/dist/nix" http://nixos.org/releases/)
137
(indexJob 02 "/data/webserver/dist/strategoxt2" http://releases.strategoxt.org/)
138
(indexJob 05 "/data/webserver/dist" http://buildfarm.st.ewi.tudelft.nl/)
139
133
- "35 03 * * * root ${pkgs.nixUnstable}/bin/nix-collect-garbage --max-links 27500 > /var/log/gc.log 2>&1"
140
+ "00 03 * * * root ${pkgs.nixUnstable}/bin/nix-collect-garbage --max-atime $(date +\\%s -d '2 weeks ago') > /var/log/gc.log 2>&1"
141
];
142
};
143
@@ -235,6 +242,7 @@ rec {
242
243
{ hostName = "buildfarm.st.ewi.tudelft.nl";
244
documentRoot = pkgs.lib.cleanSource ./webroot;
245
+ enableUserDir = true;
246
extraSubservices = [
247
{ serviceType = "subversion";
248
urlPrefix = "";
@@ -326,8 +334,8 @@ rec {
334
{ hostName = "bugs.strategoxt.org";
335
extraConfig = ''
336
<Proxy *>
329
- Order deny,allow
330
- Allow from all
337
+ Order deny,allow
338
+ Allow from all
339
</Proxy>
340
341
ProxyRequests Off
@@ -384,6 +392,20 @@ rec {
392
globalRedirect = "https://svn.nixos.org/";
393
}
394
395
+ { hostName = "hydra.nixos.org";
396
+ extraConfig = ''
397
+ <Proxy *>
398
+ Order deny,allow
399
+ Allow from all
400
+ </Proxy>
401
+
402
+ ProxyRequests Off
403
+ ProxyPreserveHost On
404
+ ProxyPass / http://localhost:3000/
405
+ ProxyPassReverse / http://localhost:3000/
406
+ '';
407
+ }
408
+
409
{ hostName = "planet.strategoxt.org";
410
serverAliases = ["planet.stratego.org"];
411
documentRoot = "/home/karltk/public_html/planet";
machines.nix
+4
@@ -61,4 +61,8 @@
61
maxJobs = 2;
62
buildUser = "nix";
63
};
64
+ hydra = {
65
+ ipAddress = "192.168.1.18";
66
+ ethernetAddress = "00:22:19:55:bf:24";
67
+ };
68
}
mass-update.sh
+2
-2
@@ -1,8 +1,8 @@
1
-#! /bin/sh
1
+#! /bin/sh -e
2
3
export SSH_AUTH_SOCK= # hack
4
5
-for i in localhost jimmy timmy terrance phillip "localhost -p 2222"; do
5
+for i in jimmy timmy terrance phillip; do
6
echo "=== Updating $i ==="
7
ssh -i /root/.ssh/id_mass_update root@$i sh --login -c '"cd /etc/nixos && svn up nixos nixpkgs configurations release && nixos-rebuild switch"'
8
done