about summary refs log tree commit diff
path: root/release.nix
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2015-04-15 19:15:41 +0200
committeraszlig <aszlig@redmoonstudios.org>2015-04-15 19:15:41 +0200
commit6bc87aaf25df20ad4ac1c8a09587a18153c5b558 (patch)
tree1d6a095ac63be70fa4fa5ab6637a2cca33e6a936 /release.nix
parent08a2e95eafe73b47f6beba8c915515079c3d328a (diff)
release.nix: Generate channels for all machines.
Those channels only depend on whether the build of the particular
machine succeed and currently don't include any VM tests.

Also, this is quite repetitious, because we're recursing through the
whole set of machines again instead of re-using the corresponding Hydra
jobs.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'release.nix')
-rw-r--r--release.nix18
1 files changed, 14 insertions, 4 deletions
diff --git a/release.nix b/release.nix
index 3f6e72c5..b81ca837 100644
--- a/release.nix
+++ b/release.nix
@@ -24,10 +24,20 @@ in with pkgsUpstream.lib; with builtins; {
     };
   in with releaseLib; mapTestOn (packagePlatforms releaseLib.pkgs);
 
-  channel = root.pkgs.mkChannel rec {
-    name = "vuizvui-channel-${version}";
-    version = "${toString vuizvui.revCount}.${vuizvui.shortRev}";
-    src = vuizvui;
+  channels = let
+    mkChannel = attrs: root.pkgs.mkChannel (rec {
+      name = "vuizvui-channel-${attrs.name or "generic"}-${version}";
+      version = "${toString vuizvui.revCount}.${vuizvui.shortRev}";
+      src = vuizvui;
+    } // removeAttrs attrs [ "name" ]);
+
+  in {
+    generic = mkChannel {};
+
+    machines = mapAttrsRecursiveCond (m: !(m ? build)) (path: attrs: mkChannel {
+      name = "machine-${last path}";
+      constituents = singleton attrs.build.config.system.build.toplevel;
+    }) (import ./machines { inherit system; });
   };
 
   manual = let