diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-04-30T21·22-0400 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-04-30T21·22-0400 |
commit | 59a26360c75f1cf5fe65fce5e3703df0b6645140 (patch) | |
tree | 0335e94c4d795df78a62b63f41ca241e9698d344 /doc | |
parent | 82ae0e688c21794bea583f9b48bb3639f7e2601a (diff) |
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.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manual/build-farm.xml | 17 |
1 files changed, 14 insertions, 3 deletions
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</link>.</para> 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 </programlisting> </example> @@ -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.</para></listitem> - <listitem><para>A comma-separated list of - <emphasis>features</emphasis>. If a derivation has the + <listitem><para>A comma-separated list of <emphasis>supported + features</emphasis>. If a derivation has the <varname>requiredSystemFeatures</varname> attribute, then <filename>build-remote.pl</filename> 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 <programlisting> requiredSystemFeatures = [ "kvm" ]; @@ -87,6 +89,15 @@ requiredSystemFeatures = [ "kvm" ]; <literal>kvm</literal> feature (i.e., <literal>scratchy</literal> in the example above).</para></listitem> + <listitem><para>A comma-separated list of <emphasis>mandatory + features</emphasis>. A machine will only be used to build a + derivation if all of the machine’s mandatory features appear in the + derivation’s <varname>requiredSystemFeatures</varname> attribute. + Thus, in the example, the machine <literal>poochie</literal> will + only do derivations that have + <varname>requiredSystemFeatures</varname> set to <literal>["kvm" + "perf"]</literal> or <literal>["perf"]</literal>.</para></listitem> + </orderedlist> You should also set up the environment variable |