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:
@@ -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
|
||||||
|
'';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user