From 59a26360c75f1cf5fe65fce5e3703df0b6645140 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 30 Apr 2012 17:22:45 -0400 Subject: Support mandatory system features in the build hook Mandatory features are features that MUST be present in a derivation's requiredSystemFeatures attribute. One application is performance testing, where we have a dedicated machine to run performance tests (and nothing else). Then we would add the label "perf" to the machine's mandatory features and to the performance testing derivations. --- doc/manual/build-farm.xml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/manual/build-farm.xml b/doc/manual/build-farm.xml index f2d4a477e6b9..2e0d86b89f09 100644 --- a/doc/manual/build-farm.xml +++ b/doc/manual/build-farm.xml @@ -31,6 +31,7 @@ variable. nix@mcflurry.labs.cs.uu.nl powerpc-darwin /home/nix/.ssh/id_quarterpounder_auto 2 nix@scratchy.labs.cs.uu.nl i686-linux /home/nix/.ssh/id_scratchy_auto 8 1 kvm nix@itchy.labs.cs.uu.nl i686-linux /home/nix/.ssh/id_scratchy_auto 8 2 +nix@poochie.labs.cs.uu.nl i686-linux /home/nix/.ssh/id_scratchy_auto 8 2 kvm perf @@ -73,11 +74,12 @@ bits of information: the machine. If there are multiple machines of the right type, Nix will prefer the fastest, taking load into account. - A comma-separated list of - features. If a derivation has the + A comma-separated list of supported + features. If a derivation has the requiredSystemFeatures attribute, then build-remote.pl will only perform the - derivation on a machine that has the specified features. For instance, the attribute + derivation on a machine that has the specified features. For + instance, the attribute requiredSystemFeatures = [ "kvm" ]; @@ -87,6 +89,15 @@ requiredSystemFeatures = [ "kvm" ]; kvm feature (i.e., scratchy in the example above). + A comma-separated list of mandatory + features. A machine will only be used to build a + derivation if all of the machine’s mandatory features appear in the + derivation’s requiredSystemFeatures attribute. + Thus, in the example, the machine poochie will + only do derivations that have + requiredSystemFeatures set to ["kvm" + "perf"] or ["perf"]. + You should also set up the environment variable -- cgit 1.4.1