diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-03-20 15:52:08 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-03-26 11:58:59 +0100 |
commit | b38647766db69308c789da46fe9f3f2b89e782d9 (patch) | |
tree | f9698c6928fb3f16f5264ceff371709a6c87ee6f /pkgs/build-support/release | |
parent | f2726c5c57b769d7d9f0c636be23a6759afd0980 (diff) | |
download | nixpkgs-b38647766db69308c789da46fe9f3f2b89e782d9.tar nixpkgs-b38647766db69308c789da46fe9f3f2b89e782d9.tar.gz nixpkgs-b38647766db69308c789da46fe9f3f2b89e782d9.tar.bz2 nixpkgs-b38647766db69308c789da46fe9f3f2b89e782d9.tar.lz nixpkgs-b38647766db69308c789da46fe9f3f2b89e782d9.tar.xz nixpkgs-b38647766db69308c789da46fe9f3f2b89e782d9.tar.zst nixpkgs-b38647766db69308c789da46fe9f3f2b89e782d9.zip |
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.
Diffstat (limited to 'pkgs/build-support/release')
-rw-r--r-- | pkgs/build-support/release/default.nix | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/build-support/release/default.nix b/pkgs/build-support/release/default.nix index 2cf2b1f8d6d..20dcf2fbd0c 100644 --- a/pkgs/build-support/release/default.nix +++ b/pkgs/build-support/release/default.nix @@ -39,4 +39,14 @@ rec { { inherit stdenv vmTools checkinstall; } // args); + aggregate = + { name, members, meta ? { } }: + pkgs.runCommand name + { inherit members meta; + _hydraAggregate = true; + } + '' + echo $members > $out + ''; + } |