We are running over 6000 tests by now and they take around 5 minutes
on faster machines and tests alot of components that endusers will not
actually be using. It is sufficient if we run them on package upgrades
and in the passthrough test.
The flakyness in home-assistant stems from premature event loop closing,
due to race conditions throughout the test suite.
> RuntimeError: Event loop is closed
They also happen during upstreams testsuite runs, but they silently
ignore them, so I don't expect a fix for them in the near future.
Alleviate our pains by rerunning tests that fail in this particular way.
We can now track a list of components, that should be integrated into
our testsuite run. Their dependencies will automatically be included
into the checkInputs by reusing the dependency lookup infrastructure we
already have, which is what makes this feasible.
We forked lorri to nix-community, so this release also moves us over
to the new official repository.
Release notes:
Fix the build loop.
Previously, any change (for example a direnv ping or a change in the
nix files) would add a new build invocation to the queue, and the
builds would all be done one after the other.
However, a new build will always use the newest state of the files
anyway, so the CPU time spent on all the other builds will be
wasted (and hog your processor).
Now lorri will only
finish the current build (if running)
schedule at maximum one additional build if requested
This should improve the resource use drastically in some situations.
---
Make lorri daemon exit with exit code 0 instead of 130/143 on
SIGINT or SIGTERM.
---
Add lorri self-upgrade branch sub-subcommand.
This enables us to point users to a branch name, in order to test out
fixes from repository branches.
dhallPackages were not built by the hydra, because the
`recurseIntoAttrs` calls was missing (all other package sets use it to
make hydra build the packages).
This dependency has been added in 65eae4d, when NixOS switched to
systemd, as a substitute for the previous udevtrigger and hasn't been
touched since. It's probably unneeded as the upstream unit[1] doesn't
do it and I haven't found any mention of any problem in NixOS or the
upstream issue trackers.
[1]: https://gitlab.com/libvirt/libvirt/-/blob/master/src/remote/libvirtd.service.in
Previously the faketime command used date (or gdate on darwin) from the environment. This led to issues when the date command was not available or did not behave as expected.
Thus, we patch libfaketime to use the date binary from the Nix coreutils package, pulling it into the closure.