test: add skills coexistence e2e coverage

This commit is contained in:
Ciphercat 2026-03-18 01:48:13 +00:00
commit 1a1f06aaa5
4 changed files with 83 additions and 4 deletions

View file

@ -0,0 +1,58 @@
{ self, nixpkgs, system }:
let
pkgs = import nixpkgs { inherit system; };
testSkill = builtins.path {
path = ./fixtures/custom-skill;
name = "hermes-test-custom-skill";
};
in
pkgs.testers.runNixOSTest {
name = "hermes-skills-coexistence";
nodes.machine = { ... }: {
imports = [ self.nixosModules.hermes-agent ];
services.hermes-agent = {
enable = true;
package = self.packages.${system}.hermes-agent;
skills = {
bundled.enable = false;
custom.repo-watch = {
category = "research";
source = testSkill;
};
};
documents = {
"SOUL.md" = "# SOUL.md\nTest soul\n";
"AGENTS.md" = "# AGENTS.md\nTest agents\n";
"USER.md" = "# USER.md\nTest user\n";
};
config = {
toolsets = [ "all" ];
model = {
default = "moonshotai/kimi-k2.5";
provider = "openrouter";
};
};
};
system.stateVersion = "25.05";
};
testScript = ''
machine.wait_for_unit("multi-user.target")
machine.succeed("test -f /var/lib/hermes/.hermes/skills/research/repo-watch/SKILL.md")
machine.succeed("grep -F 'research/repo-watch' /var/lib/hermes/.hermes/skills/.nix-managed-skills.json")
machine.succeed("mkdir -p /var/lib/hermes/.hermes/skills/manual-test")
machine.succeed("cat > /var/lib/hermes/.hermes/skills/manual-test/SKILL.md <<'EOF'\n---\nname: manual-test\ndescription: unmanaged test skill\n---\n\n# manual-test\nEOF")
machine.succeed("chown -R hermes:hermes /var/lib/hermes/.hermes/skills/manual-test")
machine.succeed("/run/current-system/activate")
machine.succeed("test -f /var/lib/hermes/.hermes/skills/research/repo-watch/SKILL.md")
machine.succeed("test -f /var/lib/hermes/.hermes/skills/manual-test/SKILL.md")
'';
}