nixos/hydra: enhance test for multiple Nix versions
Hydra should support multiple Nix versions (and currently contains fixes to work with Nix 2.0 and higher). Further Nix versions can be added to the `hydraPkgs` expression in the test case which lists all supported Nix versions for Hydra.
This commit is contained in:
parent
acfc1c1535
commit
1649b4899f
|
@ -1,6 +1,10 @@
|
|||
import ../make-test.nix ({ pkgs, ...} :
|
||||
{ system ? builtins.currentSystem
|
||||
, config ? { }
|
||||
, pkgs ? import ../../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
trivialJob = pkgs.writeTextDir "trivial.nix" ''
|
||||
{ trivial = builtins.derivation {
|
||||
name = "trivial";
|
||||
|
@ -21,15 +25,21 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
in {
|
||||
name = "hydra-init-localdb";
|
||||
callTest = f: f { inherit system pkgs; };
|
||||
|
||||
hydraPkgs = {
|
||||
inherit (pkgs) nixStable nixUnstable;
|
||||
};
|
||||
|
||||
tests = pkgs.lib.flip pkgs.lib.mapAttrs hydraPkgs (name: nix:
|
||||
callTest (import ../make-test.nix ({ pkgs, lib, ... }:
|
||||
{
|
||||
name = "hydra-with-${name}";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ pstn lewo ma27 ];
|
||||
};
|
||||
|
||||
machine =
|
||||
{ pkgs, ... }:
|
||||
|
||||
machine = { pkgs, ... }:
|
||||
{
|
||||
virtualisation.memorySize = 1024;
|
||||
time.timeZone = "UTC";
|
||||
|
@ -41,6 +51,8 @@ in {
|
|||
#Hydra needs those settings to start up, so we add something not harmfull.
|
||||
hydraURL = "example.com";
|
||||
notificationSender = "example@example.com";
|
||||
|
||||
package = pkgs.hydra.override { inherit nix; };
|
||||
};
|
||||
nix = {
|
||||
buildMachines = [{
|
||||
|
@ -52,8 +64,7 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
testScript = ''
|
||||
# let the system boot up
|
||||
$machine->waitForUnit("multi-user.target");
|
||||
# test whether the database is running
|
||||
|
@ -74,4 +85,7 @@ in {
|
|||
|
||||
$machine->waitUntilSucceeds('curl -L -s http://localhost:3000/build/1 -H "Accept: application/json" | jq .buildstatus | xargs test 0 -eq');
|
||||
'';
|
||||
})
|
||||
})));
|
||||
|
||||
in
|
||||
tests
|
||||
|
|
Loading…
Reference in a new issue