Commit Graph

86 Commits

Author SHA1 Message Date
pinpox
a0a9cef2a6 Add state-version nixos option
This reverts commit 695574988e.
2025-07-04 11:54:12 +02:00
Johannes Kirschbauer
695574988e Revert "Merge pull request 'Make state-version generation an clan option' (#4056) from state-version-option into main"
This reverts commit a101ff1f11, reversing
changes made to f12b62d8b4.
2025-07-01 18:15:11 +02:00
DavHau
f02e2ce383 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
882ccbc4b8 checks: prefix all nixos tests with nixos-test- 2025-06-30 19:14:24 +07:00
DavHau
b448ff05e2 checks: rename dummy-inventory-test -> service-dummy-test 2025-06-30 19:06:13 +07:00
pinpox
47d4dfad1b Add state-version option 2025-06-30 12:54:29 +02:00
Jörg Thalheim
f1fd710dd1 add regression test for macOS evaluation 2025-06-29 23:58:19 +02:00
Jörg Thalheim
6ab5171b5b add restricted network nixos modules
See README.md for explanation
2025-06-27 18:44:17 +02:00
Johannes Kirschbauer
11a94893fb refactor: unify evalClanService with evalService 2025-06-26 14:50:35 +02:00
pinpox
cb69eea68f Make machine ID a option 2025-06-24 10:42:03 +02:00
pinpox
6de9a9a910 Remove services and add deprecation warning 2025-06-18 13:18:25 +02:00
Jörg Thalheim
f7f6b22f92 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
a-kenji
c2f20c0ff0 checks: Remove the syncthing check again
Someone readded it for some unknown reason.
2025-06-13 13:08:29 +02:00
pinpox
27998d777a 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
e4bb9e1958 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
b13f64c96d 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
a5d15d7832 borgbackup: Move tests close to service 2025-06-11 13:47:29 +02:00
a-kenji
992d5cbe46 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
4670dbfd6a 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
cd5743b56f 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
b2bc845d88 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
3a7fd3085e 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
3f1b776a5b 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
5e4167e375 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
08618e6c66 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
977c57579d 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
508e8cf85e 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
5fbe24bb53 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
ef4caa94e7 Migrate localsend to clanServices 2025-06-05 12:49:51 +02:00
pinpox
509274c90e cleanup checks/flake-module.nix 2025-06-04 14:59:30 +02:00
pinpox
84c1cb20be Migrate mycelium from clanModule to clanService 2025-06-04 14:10:32 +02:00
pinpox
50213caa68 Migrate heisenbridge from clanModule to clanService 2025-06-04 02:45:41 +02:00
pinpox
0a0ed236ad Migrate garage from clanModule to clanService 2025-06-04 01:29:52 +02:00
pinpox
2d09e65ff4 migrate ergochat module to clanservice 2025-06-04 00:21:23 +02:00
pinpox
65af5ac5d2 Add test for deltachat clanService 2025-06-03 22:35:10 +02:00
DavHau
01737d2bf7 clan tests: convert makeTestClan to a module
Let's not put yet another wrapper around runTest, instead expose our logic as a module that can be imported into any nixos-vm-test
2025-06-03 19:38:02 +07:00
pinpox
00313723e2 Update hash 2025-06-02 16:16:17 +02:00
pinpox
13a9b17198 modules/borgbackup: migrate to clanServices
Migrates the borgbackup module to clanServices, preserving it's original
configuration syntax and functionality
2025-06-02 16:12:37 +02:00
pinpox
3bdfa7e405 migrate admin module 2025-05-12 15:54:49 +02:00
Jörg Thalheim
bea10f7bc8 checks/mumble: disable on x86_64-linux for now 2025-05-12 15:32:52 +02:00
Jörg Thalheim
67def050fd use a clan-core snapshots for ci tests
We currently have to re-run our integration tests a lot because they are
depending on the whole repository. This pull request changes locks the
clan-core used for vm tests. This has the caveat that we might not run
the latest NixOS machine of our profiles. On the upside we can test
behaviour against an older clan-core version and capture breakages and
make it backwards compatible. If we actually want to test the latest
version, the PR that changes the exposed flake api, could also bump the
clan-core snapshot.
2025-05-12 13:21:25 +02:00
Jörg Thalheim
f0983ede5e move single dont-depend-on-repo-root check into checks
Doesn't seem to be a pattern yet with a single check.
2025-05-12 12:06:05 +02:00
Johannes Kirschbauer
e44d34ef99 feat(clanLib): init evalServiceSchema 2025-05-05 21:55:29 +02:00
Johannes Kirschbauer
d42d9ad943 tests: add error prefix for json schema in checks 2025-05-05 21:46:16 +02:00
DavHau
93090b74e5 ci performance: add check to ensure nothing depends on the whole repo
Since this project is an ever growing monorepo, having derivations depending on the whole repo leads to bad CI performance, as the cache is busted on every commit.

-> We never want any derivations depend on the whole repo

...except: the test that tests that nothing depends on the whole repo, which is added by this commit.

For now only add this check to packages to allow contributors to build it locally.
We might want to add it to the CI later once all occurrences are fixed.
2025-04-30 13:17:33 +07:00
Johannes Kirschbauer
3d09c98ed3 Checks: add json-compat check wrapper to ensure all clan.modules stay json-compatible 2025-04-29 15:31:02 +02:00
DavHau
39c13a5c38 clan-app: add basic smoke test using OCR + nixos tests 2025-04-24 18:17:09 +07:00
Johannes Kirschbauer
f6e514ec6f Refactor: move checks/lib into lib/ to avoid duplicate lib
Lets avoid the mistake of nixpkgs having multiple
libs
2025-04-23 16:19:16 +02:00
Johannes Kirschbauer
8ae0f5ddcb tests(clan): move test-inventory.nix to clanLib. And name it 'makeTestClan'
Exposing the function via clanLib makes it more accessible to clan modules
This allows each module to define its own test without needing to depend on any fileSystem path assumptions in the clan-core repo
2025-04-15 18:17:40 +02:00
Jörg Thalheim
c61c1af18e replace original installation test with installation-without-system 2025-04-08 20:41:31 +02:00