Author: sandervanderburg
Date: Tue Jan 18 23:17:49 2011
New Revision: 25621
URL: https://svn.nixos.org/websvn/nix/?rev=25621&sc=1

Log:
Added release.nix and some modifications to make it automatically testable

Added:
   disnix/examples/nixos-configurations/trunk/DistributedDeployment/network.nix
   disnix/examples/nixos-configurations/trunk/release.nix
   disnix/examples/nixos-configurations/trunk/version
Modified:
   
disnix/examples/nixos-configurations/trunk/DistributedDeployment/distribution.nix
   
disnix/examples/nixos-configurations/trunk/DistributedDeployment/infrastructure.nix
   disnix/examples/nixos-configurations/trunk/DistributedDeployment/services.nix
   disnix/examples/nixos-configurations/trunk/configurations/basic.nix
   disnix/examples/nixos-configurations/trunk/configurations/tomcat.nix

Modified: 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/distribution.nix
==============================================================================
--- 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/distribution.nix
   Tue Jan 18 23:08:40 2011        (r25620)
+++ 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/distribution.nix
   Tue Jan 18 23:17:49 2011        (r25621)
@@ -1,5 +1,6 @@
 {infrastructure}:
 
 {
-  basic = [ infrastructure.test1 ];
+  basic = [ infrastructure.basic ];
+  tomcat = [ infrastructure.tomcat ];
 }

Modified: 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/infrastructure.nix
==============================================================================
--- 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/infrastructure.nix
 Tue Jan 18 23:08:40 2011        (r25620)
+++ 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/infrastructure.nix
 Tue Jan 18 23:17:49 2011        (r25621)
@@ -1,13 +1,17 @@
 {
-  test1 = {
+  basic = {
     hostname = "test1";
     system = "i686-linux";
     sshTarget = "localhost:2222";
+    disableNixOSSystemProfile = true;
+    testNixOS = true;
   };
   
-  test2 = {
+  tomcat = {
     hostname = "test2";
     system = "i686-linux";
     sshTarget = "localhost:2223";
+    disableNixOSSystemProfile = true;
+    testNixOS = true;
   };
 }

Added: 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/network.nix
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/network.nix    
    Tue Jan 18 23:17:49 2011        (r25621)
@@ -0,0 +1,4 @@
+{
+  basic = import ../configurations/basic.nix;
+  tomcat = import ../configurations/tomcat.nix;
+}

Modified: 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/services.nix
==============================================================================
--- 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/services.nix   
    Tue Jan 18 23:08:40 2011        (r25620)
+++ 
disnix/examples/nixos-configurations/trunk/DistributedDeployment/services.nix   
    Tue Jan 18 23:17:49 2011        (r25621)
@@ -1,9 +1,12 @@
-{system, distribution}:
+{distribution, system, pkgs}:
 
+let
+  evalConfig = import /etc/nixos/nixos/lib/eval-config.nix;
+in
 {
   basic = {
     name = "basic";
-    pkg = (import /etc/nixos/nixos/lib/eval-config.nix {
+    pkg = (evalConfig {
       modules = [ ../configurations/basic.nix ];
       inherit system;
     }).config.system.build.toplevel;
@@ -12,7 +15,7 @@
   
   tomcat = {
     name = "tomcat";
-    pkg = (import /etc/nixos/nixos/lib/eval-config.nix {
+    pkg = (evalConfig {
       modules = [ ../configurations/tomcat.nix ];
       inherit system;
     }).config.system.build.toplevel;

Modified: disnix/examples/nixos-configurations/trunk/configurations/basic.nix
==============================================================================
--- disnix/examples/nixos-configurations/trunk/configurations/basic.nix Tue Jan 
18 23:08:40 2011        (r25620)
+++ disnix/examples/nixos-configurations/trunk/configurations/basic.nix Tue Jan 
18 23:17:49 2011        (r25621)
@@ -1,6 +1,11 @@
-{pkgs, config, ...}:
+{pkgs, config, modulesPath, ...}:
 
 {
+  require = [
+    "${modulesPath}/virtualisation/qemu-vm.nix"
+    "${modulesPath}/testing/test-instrumentation.nix"
+  ];
+  
   boot = {
     loader = {
       grub = {
@@ -26,6 +31,10 @@
     
     disnix = {
       enable = true;
+      infrastructure = {
+        disableNixOSSystemProfile = true;
+       testNixOS = true;
+      };
     };    
   };
 }

Modified: disnix/examples/nixos-configurations/trunk/configurations/tomcat.nix
==============================================================================
--- disnix/examples/nixos-configurations/trunk/configurations/tomcat.nix        
Tue Jan 18 23:08:40 2011        (r25620)
+++ disnix/examples/nixos-configurations/trunk/configurations/tomcat.nix        
Tue Jan 18 23:17:49 2011        (r25621)
@@ -1,6 +1,11 @@
-{pkgs, config, ...}:
+{pkgs, config, modulesPath, ...}:
 
 {
+  require = [
+    "${modulesPath}/virtualisation/qemu-vm.nix"
+    "${modulesPath}/testing/test-instrumentation.nix"
+  ];
+  
   boot = {
     loader = {
       grub = {
@@ -26,10 +31,14 @@
     
     disnix = {
       enable = true;
+      infrastructure = {
+        disableNixOSSystemProfile = true;
+       testNixOS = true;
+      };
     };
     
     tomcat = {
       enable = true;
-    };    
+    };
   };
 }

Added: disnix/examples/nixos-configurations/trunk/release.nix
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ disnix/examples/nixos-configurations/trunk/release.nix      Tue Jan 18 
23:17:49 2011        (r25621)
@@ -0,0 +1,69 @@
+{ nixpkgs ? /etc/nixos/nixpkgs
+, nixos ? /etc/nixos/nixos
+}:
+
+let
+  
+  jobs = rec {
+    tarball =
+      { nixos_configurations ? {outPath = ./.; rev = 1234;}
+      , officialRelease ? false}:
+    
+      let
+        pkgs = import nixpkgs {};
+  
+        disnixos = import "${pkgs.disnixos}/share/disnixos/testing.nix" {
+          inherit nixpkgs nixos;
+        };
+      in
+      disnixos.sourceTarball {
+        name = "nixos-configurations";
+       version = builtins.readFile ./version;
+       src = nixos_configurations;
+        inherit officialRelease;
+      };
+      
+    build =
+      { tarball ? jobs.tarball {}
+      , system ? "x86_64-linux"
+      }:
+      
+      let
+        pkgs = import nixpkgs { inherit system; };
+  
+        disnixos = import "${pkgs.disnixos}/share/disnixos/testing.nix" {
+          inherit nixpkgs nixos system;
+        };
+      in
+      disnixos.buildManifest {
+        name = "nixos-configurations";
+       version = builtins.readFile ./version;
+       inherit tarball;
+       servicesFile = "DistributedDeployment/services.nix";
+       networkFile = "DistributedDeployment/network.nix";
+       distributionFile = "DistributedDeployment/distribution.nix";
+      };
+            
+    tests = 
+
+      let
+        pkgs = import nixpkgs {};
+  
+        disnixos = import "${pkgs.disnixos}/share/disnixos/testing.nix" {
+          inherit nixpkgs nixos;
+        };
+      in
+      disnixos.disnixTest {
+        name = "nixos-configurations";        
+        tarball = tarball {};
+        manifest = build { system = "x86_64-linux"; };
+       networkFile = "DistributedDeployment/network.nix";
+       testScript =
+         ''
+           # The tomcat server must run Apache Tomcat
+           $tomcat->waitForJob("tomcat");
+         '';
+      };              
+  };
+in
+jobs

Added: disnix/examples/nixos-configurations/trunk/version
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ disnix/examples/nixos-configurations/trunk/version  Tue Jan 18 23:17:49 
2011        (r25621)
@@ -0,0 +1 @@
+0.1
\ No newline at end of file
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to