Hopefully, this will propagate the outputs to the cache.
Comparatively, it is assumed the compressed rootfs images would lose
their string contexts, and new builds not otherwise cached would be
lost.
Most of the system will have already been built by the hello system
anyway. What's left is what's specific to phosh.
With this build we'll be able to see any form of progress with phosh
cross-compilation, and then any form of regression.
This does **not** add more work. This only adds more tracking. The
kernels as used here *are already part of the builds*.
By making them discrete components of the eval, we are now able to
better track kernel build issues.
Fixes#434
This is required for more hermetic evals.
A simple thing to try is, before this change, replace `default.nix` with
`throw "No thanks..."`. It would throw. It was also possible to observe
`local.nix` was being included by the warnings.
Wioth this change, `release.nix` does not include `local.nix` through
`default.nix`.
I think this was the last piece of Mobile NixOS that actually relied on
`default.nix` being a thing. We have finally completely inverted the
control, where `default.nix` uses the helpers, rather than the helpers
evaluating a specialized `default.nix`.
From now on, it should be entirely safe to experiment with
`default.nix`. We should be able to **fail noisily** when a user builds
the default empty configuration!
This includes the whole `tested` job (a simple no-op for hydra), but
adds additional things we want to track success for.
`tested` is for the basic minimum we want to succeed.
`testedPlus` adds more exotic, and less well-tested platforms.
It's being replaced by the generic uefi-x86_64 device.
Basically, replace the QEMU-specific system type by the totally standard
UEFI system type. This way we're dogfooding it way better!
As thus rootfs is universal, building it will allow end-users to
directly be able to run a somewhat usable system on their devices, even
if they are unable to bootstrap themselves one.
Furthermore, this ensures that the requirements are built and do
continue building on aarch64-linux.