feat(nix): opt-in NixOS VM integration test for the module - #69496
Draft
alt-glitch wants to merge 1 commit into
Draft
feat(nix): opt-in NixOS VM integration test for the module#69496alt-glitch wants to merge 1 commit into
alt-glitch wants to merge 1 commit into
Conversation
First VM-level coverage for nixosModules.default: boots a VM with services.hermes-agent enabled, then asserts tmpfiles state-dir modes (2770 hermes:hermes across the .hermes tree), the sealed CLI working as the hermes user, the activation .managed marker, and a credential-less gateway that starts and STAYS active (asserted via the 'No messaging platforms enabled.' startup log rather than a bare wait_for_unit, which could pass mid-restart-loop). Exposed as packages.x86_64-linux.nixos-vm-test, deliberately NOT a flake check: booting a VM over the ~700MB closure is too costly for every 'nix flake check'. Run explicitly: nix build .#nixos-vm-test -L (requires kvm/nixos-test system features).
Contributor
૮ >ﻌ< ა ci reviewrunning on da20df2 looks good to me! |
Collaborator
Author
|
Review of the opt-in NixOS VM integration test (Nix is out of calldiff's scope, so this is a plain diff read). Clean, well-targeted addition — packaged as 🔴 IssuesNone blocking. 🟡 Duplication / abstraction
✅ Looks good
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The NixOS module (1008 lines — systemd unit, tmpfiles, activation script, container mode) had zero VM-level coverage; all existing checks are runCommand-based. This adds the repo's first
testers.runNixOSTest:nixosModules.defaultwithservices.hermes-agent.enable = trueand a dummy provider key2770 hermes:hermes(tmpfiles),hermes version/--helpwork as the hermes user from the sealed venv, the activation.managedmarker exists, and the credential-less gateway starts and stays active — asserted via itsNo messaging platforms enabled.startup log instead of a barewait_for_unitthat could pass during a restart looppackages.x86_64-linux.nixos-vm-test(opt-in), not a flake check, sonix flake checkcost is unchanged; runs on manual trigger locally or in the ci(nix): restore nix CI as trigger-only workflow with local entrypoint #69463 CI vianix build .#nixos-vm-test -L(needs kvm + nixos-test system features)Test plan
Full local run: VM boots, all assertions pass, gateway active, test script finished in 38.5s (log excerpt in the build output).