releaseTools: Add ‘aggregate’ function
An aggregate is a trivial build that depends on other builds. This is intended to provide a declarative replacement of Hydra's "view" mechanism. For instance, you can define an aggregate named "critical" that depends on a selected set of jobs: critical = releaseTools.aggregate { name = "foo-${tarball.version}"; members = [ tarball build.x86_64-linux ... ]; meta.description = "Release-critical builds"; }; The "critical" build will only succeed if all its members (dependencies) succeed.
This commit is contained in:
parent
f2726c5c57
commit
b38647766d
|
@ -39,4 +39,14 @@ rec {
|
||||||
{ inherit stdenv vmTools checkinstall;
|
{ inherit stdenv vmTools checkinstall;
|
||||||
} // args);
|
} // args);
|
||||||
|
|
||||||
|
aggregate =
|
||||||
|
{ name, members, meta ? { } }:
|
||||||
|
pkgs.runCommand name
|
||||||
|
{ inherit members meta;
|
||||||
|
_hydraAggregate = true;
|
||||||
|
}
|
||||||
|
''
|
||||||
|
echo $members > $out
|
||||||
|
'';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue