diff options
author | aszlig <aszlig@redmoonstudios.org> | 2015-04-15 19:15:41 +0200 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2015-04-15 19:15:41 +0200 |
commit | 6bc87aaf25df20ad4ac1c8a09587a18153c5b558 (patch) | |
tree | 1d6a095ac63be70fa4fa5ab6637a2cca33e6a936 | |
parent | 08a2e95eafe73b47f6beba8c915515079c3d328a (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>
-rw-r--r-- | release.nix | 18 |
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 |