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
```
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.
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
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.
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.
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.
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.
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.
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.
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.
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.