mirror of
https://github.com/logos-storage/logos-storage-nim.git
synced 2026-01-02 21:43:11 +00:00
nix: test forwarding of src in service
Signed-off-by: markoburcul <marko@status.im>
This commit is contained in:
parent
95ae2e9db2
commit
77fef0adee
51
flake.nix
51
flake.nix
@ -30,29 +30,9 @@
|
||||
default = nim-codex;
|
||||
});
|
||||
|
||||
nixosModules.nim-codex = import ./nix/service.nix;
|
||||
|
||||
checks = forAllSystems (system: let
|
||||
pkgs = pkgsFor.${system};
|
||||
in {
|
||||
nim-codex-test = pkgs.nixosTest {
|
||||
name = "nim-codex-test";
|
||||
nodes = {
|
||||
server = { config, pkgs, ... }: {
|
||||
imports = [ self.nixosModules.nim-codex ];
|
||||
services.nim-codex.enable = true;
|
||||
services.nim-codex.dataDir = "/var/lib/nim-codex-test";
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
print("Starting test: nim-codex-test")
|
||||
machine.start()
|
||||
machine.wait_for_unit("nim-codex.service")
|
||||
machine.succeed("test -d /var/lib/nim-codex-test")
|
||||
machine.wait_until_succeeds("journalctl -u nim-codex.service | grep 'Started codex node'", 10)
|
||||
'';
|
||||
};
|
||||
});
|
||||
nixosModules.nim-codex = { config, lib, pkgs, ... }: import ./nix/service.nix {
|
||||
inherit self config lib pkgs;
|
||||
};
|
||||
|
||||
devShells = forAllSystems (system: let
|
||||
pkgs = pkgsFor.${system};
|
||||
@ -66,5 +46,30 @@
|
||||
nativeBuildInputs = with pkgs; [ git cargo nodejs_18 ];
|
||||
};
|
||||
});
|
||||
|
||||
checks = forAllSystems (system: let
|
||||
pkgs = pkgsFor.${system};
|
||||
in {
|
||||
nim-codex-test = pkgs.nixosTest {
|
||||
name = "nim-codex-test";
|
||||
nodes = {
|
||||
server = { config, pkgs, ... }: {
|
||||
imports = [ self.nixosModules.nim-codex ];
|
||||
services.nim-codex.enable = true;
|
||||
services.nim-codex.settings = {
|
||||
data-dir = "/var/lib/nim-codex-test";
|
||||
};
|
||||
systemd.services.nim-codex.serviceConfig.StateDirectory = "nim-codex-test";
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
print("Starting test: nim-codex-test")
|
||||
machine.start()
|
||||
machine.wait_for_unit("nim-codex.service")
|
||||
machine.succeed("test -d /var/lib/nim-codex-test")
|
||||
machine.wait_until_succeeds("journalctl -u nim-codex.service | grep 'Started codex node'", 10)
|
||||
'';
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
@ -25,17 +25,19 @@ let
|
||||
tools = callPackage ./tools.nix {};
|
||||
in pkgs.gcc11Stdenv.mkDerivation rec {
|
||||
|
||||
pname = "nim-codex";
|
||||
pname = "codex";
|
||||
|
||||
version = "${tools.findKeyValue "version = \"([0-9]+\.[0-9]+\.[0-9]+)\"" ../codex.nimble}-${revision}";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "codex-storage";
|
||||
repo = "nim-codex";
|
||||
rev = "HEAD";
|
||||
sha256 = "sha256-cPQDV46Z9z27Hd32eW726fC3J1dAhXyljbhAgFXVEXQ=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
#src = pkgs.fetchFromGitHub {
|
||||
# owner = "codex-storage";
|
||||
# repo = "nim-codex";
|
||||
# rev = "HEAD";
|
||||
# sha256 = "sha256-dncPKKj5W17AvRrK4AndtGm/MdwphPHUJj36tcU2XTU=";
|
||||
# fetchSubmodules = true;
|
||||
#};
|
||||
|
||||
inherit src;
|
||||
|
||||
# Dependencies that should exist in the runtime environment.
|
||||
buildInputs = with pkgs; [
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ self, config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
types mkEnableOption mkOption mkIf literalExpression;
|
||||
types mkEnableOption mkOption mkIf literalExpression
|
||||
mdDoc;
|
||||
|
||||
toml = pkgs.formats.toml { };
|
||||
|
||||
@ -15,12 +16,12 @@ in
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.callPackage ./default.nix { };
|
||||
defaultText = literalExpression "pkgs.nim-codex";
|
||||
description = lib.mdDoc "Package to use as Nim Codex node.";
|
||||
default = pkgs.callPackage ./default.nix { src = self; };
|
||||
defaultText = literalExpression "pkgs.codex";
|
||||
description = mdDoc "Package to use as Nim Codex node.";
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
settings = mkOption {
|
||||
default = { };
|
||||
type = toml.type;
|
||||
description = ''Structured settings object that will be used to generate a TOML config file.'';
|
||||
@ -44,7 +45,7 @@ in
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
ExecStart = "${cfg.package}/bin/nim-codex --config-file=/etc/nim-codex/config.toml";
|
||||
ExecStart = "${cfg.package}/bin/codex --config-file=/etc/nim-codex/config.toml";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
restartIfChanged = true;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user