about summary refs log tree commit diff
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2015-12-11 04:36:13 +0100
committeraszlig <aszlig@redmoonstudios.org>2015-12-11 04:36:13 +0100
commitde77a794486a31f66cd0fb8cd90653941dbe6d20 (patch)
tree8a256a4bd8ec3e6030155f0026d97dcae82ca1a5
parent93d9408a23e7693af7aa3a36d5df33a19c825523 (diff)
profiles/common: Add a new requiresTests option.
The idea is that modules can define a list of test jobs which need to
succeed whenever the module is used.

In the end this should make channel updates a bit less frightening for
people not already confident in using NixOS.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
-rw-r--r--modules/profiles/common.nix9
-rw-r--r--release.nix3
2 files changed, 11 insertions, 1 deletions
diff --git a/modules/profiles/common.nix b/modules/profiles/common.nix
index 39535d4f..8621f6ae 100644
--- a/modules/profiles/common.nix
+++ b/modules/profiles/common.nix
@@ -33,6 +33,15 @@ with lib;
         The channel name which is used to refer to <literal>vuizvui</literal>.
       '';
     };
+
+    requiresTests = mkOption {
+      type = types.listOf types.package;
+      default = [];
+      description = ''
+        A list of derivations which have to succeed in order to trigger a
+        channel update for the current configuration/machine.
+      '';
+    };
   };
 
   config = {
diff --git a/release.nix b/release.nix
index 4ecbeabc..5245e267 100644
--- a/release.nix
+++ b/release.nix
@@ -83,7 +83,8 @@ in with pkgsUpstream.lib; with builtins; {
 
     machines = mapAttrsRecursiveCond (m: !(m ? build)) (path: attrs: mkChannel {
       name = "machine-${last path}";
-      constituents = singleton attrs.build.config.system.build.toplevel;
+      constituents = singleton attrs.build.config.system.build.toplevel
+                  ++ attrs.build.config.vuizvui.requiresTests;
     }) (import "${vuizvui}/machines" { inherit system; });
   };