summary refs log tree commit diff
path: root/pkgs/build-support/release
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-03-20 15:52:08 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-03-26 11:58:59 +0100
commitb38647766db69308c789da46fe9f3f2b89e782d9 (patch)
treef9698c6928fb3f16f5264ceff371709a6c87ee6f /pkgs/build-support/release
parentf2726c5c57b769d7d9f0c636be23a6759afd0980 (diff)
downloadnixpkgs-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.nix10
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
+      '';
+
 }