Commit Graph

409 Commits

Author SHA1 Message Date
Jörg Thalheim
15b0a84314 nixoTestLib: split setting up function for port-forwarding and setuping up flake 2025-07-04 16:56:42 +02:00
Jörg Thalheim
a58e128b3a inline create_test_machine again 2025-07-04 14:36:05 +02:00
Jörg Thalheim
f5b54443da move nixosTestLib to pkgs/testing 2025-07-04 14:36:05 +02:00
Jörg Thalheim
3059f10da3 move setup_nix_in_nix into nixos_test_lib 2025-07-04 14:36:02 +02:00
Jörg Thalheim
63397a7c8b share more code between installation and update test 2025-07-04 14:14:28 +02:00
Jörg Thalheim
d9da9e4676 add port_utils module for installation testions 2025-07-04 14:14:28 +02:00
Jörg Thalheim
fe633d9c09 bump clan-core-for-checks 2025-07-04 14:14:28 +02:00
Jörg Thalheim
2a64e50798 change install test to run clan outside of the VM 2025-07-04 14:14:28 +02:00
pinpox
9a293f790e Add state-version nixos option
This reverts commit 8f6f06bef3.
2025-07-04 11:54:12 +02:00
lassulus
a055b4d1eb refactor: remove deployment.json and use direct selectors
- Remove deployment.json file generation from outputs.nix
- Add throw for deprecated deployment.file usage with upgrade instructions
- Remove vars data from deployment.data
- Update Machine class to use direct select() calls instead of deployment property
- Update all deployment property accesses to use direct selectors
- Add precaching for frequently accessed values in update.py:
  - Module paths for facts and vars
  - Deployment settings (requireExplicitUpdate, nixosMobileWorkaround)
  - Services and generators data
  - Secret upload locations
- This removes unnecessary JSON serialization and makes the code more composable
2025-07-02 20:56:23 +02:00
Johannes Kirschbauer
b1f71fe4fb clan.deployment: unify deprecated option 2025-07-02 18:37:29 +02:00
Johannes Kirschbauer
8f6f06bef3 Revert "Merge pull request 'Make state-version generation an clan option' (#4056) from state-version-option into main"
This reverts commit 8a7b6d13b5, reversing
changes made to 7a4eeb5b16.
2025-07-01 18:15:11 +02:00
Johannes Kirschbauer
afd1ba6306 checks: mock self.inputs.self by default 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
667cee0f6e buildClan: replace all usages by lib.clan 2025-07-01 11:56:31 +02:00
a-kenji
bd15d52625 checks/syncthing: Disable the syncthing check for now
This particular check has been gotten quite slow over time,
as the upstream module has been updated.

This will be reintroduced in a more performant fashion, once the
`syncthing` module has been ported.
2025-06-30 17:47:31 +02:00
DavHau
913ea5b30b checks: introduce check.<system> for faster local checks
We haven many VM tests which are quite slow, therefore q local `nix flake check` doesn't make sense anymore in most cases.

This introduces a set of cheaper local tests to be run via:
```
nix run .#check.x86_64-linux -L
```
2025-06-30 19:55:25 +07:00
DavHau
e219a636ca checks: fix some tests not named correctly 2025-06-30 19:50:16 +07:00
DavHau
a43eee2860 checks: prefix all nixos tests with nixos-test- 2025-06-30 19:14:24 +07:00
DavHau
acffa629e1 checks: rename dummy-inventory-test -> service-dummy-test 2025-06-30 19:06:13 +07:00
pinpox
507152a1cc Add state-version option 2025-06-30 12:54:29 +02:00
DavHau
2a3e786cfe tests: explicitly specify services to be sourced from self
See previous commit
2025-06-30 10:13:46 +00:00
Jörg Thalheim
14226d222e add regression test for macOS evaluation 2025-06-29 23:58:19 +02:00
Jörg Thalheim
5d88ac440a add restricted network nixos modules
See README.md for explanation
2025-06-27 18:44:17 +02:00
Johannes Kirschbauer
5dc8865da1 modules.nixosVmTest: rename to nixosTest to match the target module _class 2025-06-26 17:37:42 +02:00
Johannes Kirschbauer
d8d49c9d72 chore: clean up logic around clanInternals 2025-06-26 16:12:35 +02:00
Johannes Kirschbauer
9ef518fa20 refactor: unify evalClanService with evalService 2025-06-26 14:50:35 +02:00
pinpox
d88ac429cb Make machine ID a option 2025-06-24 10:42:03 +02:00
pinpox
3ac8ec31c7 fix: use custom git config in impure-checks to avoid system dependency 2025-06-20 10:40:32 +02:00
pinpox
27dc5306ad Remove services and add deprecation warning 2025-06-18 13:18:25 +02:00
Jörg Thalheim
0200a0c16e add run-vm-test-offline package for offline VM testing
This package allows running NixOS VM tests in an offline environment
using network namespace isolation. It builds the test driver and runs
it with unshare to ensure no network access.
2025-06-17 14:41:12 +02:00
Jörg Thalheim
e5ff78c28f Apply nix fmt on setupNixInNixPython-only 2025-06-17 12:01:12 +02:00
a-kenji
fac9ca497d checks: Remove the syncthing check again
Someone readded it for some unknown reason.
2025-06-13 13:08:29 +02:00
pinpox
774c3ff5dc Merge pull request 'Migrate sshd to clanServices' (#3912) from migrate-sshd into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3912
Reviewed-by: kenji <aks.kenji@protonmail.com>
2025-06-11 16:29:43 +00:00
pinpox
c5341837b4 Migrate sshd to clanServices
- migrate service
- add deprecation notice to old module
- add check
- update docs
2025-06-11 15:43:51 +02:00
DavHau
572e02c806 dummy-test: add vars 2025-06-11 19:30:13 +07:00
DavHau
6f451c700d clan tests: allow testing CLI interactions
This is an improvement of the clanTest nixos vm test module.

The module now has a new option clan.test.fromFlake that allows to specify a flake.nix as the source for the test clan instead of specifying clan.XXX options.

This in turn allows accessing the `flake.nix` inside the test driver allowing to use the clan cli on it
2025-06-11 19:30:13 +07:00
a-kenji
316ec8c526 borgbackup: Move tests close to service 2025-06-11 13:47:29 +02:00
a-kenji
80d0449a5b checks: Disable syncthing test for now
Syncthing is currently being migrated and we can look at the test again
once we migrated.
It recently got changes upstream which might explain the spurious test
failures.
2025-06-10 10:46:28 +02:00
a-kenji
025dd0f9b3 clanServices: Move ergochat test to appropriate location
Move the ergochat clanService test to the ergochat clan service.
The tests should live close to the definition of the service, so that
debugging and discoverability is better.
2025-06-09 15:05:40 +02:00
a-kenji
7fb182d7be clanServices: Move heisenbridge test to appropriate location
Move the heisenbridge clanService test to the heisenbridge clan service.
The tests should live close to the definition of the service, so that
debugging and discoverability is better.
2025-06-09 15:05:40 +02:00
a-kenji
95acdfa4f8 clanServices: Move deltachat test to appropriate location
Move the deltachat clanService test to the deltachat clan service.
The tests should live close to the definition of the service, so that
debugging and discoverability is better.
2025-06-09 15:05:40 +02:00
kenji
baeefc8ba1 Merge pull request 'clanServices: Move mycelium test to appropriate location' (#3902) from ke-move-mycelium-check into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3902
2025-06-09 12:04:39 +00:00
kenji
a82244fc29 Merge pull request 'clanServices: Move admin test to appropriate location' (#3905) from ke-move-admin-check into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3905
2025-06-09 11:30:43 +00:00
a-kenji
147cb81ba2 clanServices: Move mycelium test to appropriate location
Move the mycelium clanService test to the mycelium clan service.
The tests should live close to the definition of the service, so that
debugging and discoverability is better.
2025-06-09 13:17:36 +02:00
a-kenji
8e2f308cc4 clanServices: Move admin test to appropriate location
Move the admin clanService test to the admin clan service.
The tests should live close to the definition of the service, so that
debugging and discoverability is better.
2025-06-09 13:01:48 +02:00
kenji
8f1a80c778 Merge pull request 'clanServices: Move garage test to appropriate location' (#3901) from ke-move-garage-check into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3901
2025-06-09 10:55:44 +00:00
a-kenji
dd85bcda11 clanServices: Move localsend test to appropriate location
Move the localsend clanService test to the localsend clan service.
2025-06-09 12:38:39 +02:00
a-kenji
fef0225c74 clanServices: Move garage test to appropriate location #3900
Move the garage clanService test to the garage clan service.
2025-06-09 12:37:49 +02:00
pinpox
8263c0cc6c wait for mycelium port 2025-06-05 18:03:59 +02:00
pinpox
38dd90bc62 Migrate localsend to clanServices 2025-06-05 12:49:51 +02:00