911ae4dd

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Fill and read the NixCI cache from local builds

NixCI rebuilds from scratch what a contributor has already built, which
is most of what it charges us for: the same derivations are built here
first, they just never leave this machine.

The dev shell now points Nix at a post-build-hook that copies every
path it builds to the NixCI cache, and the flake substitutes from that
cache in return. Both directions only need a token in ~/.netrc, so no
system configuration is involved: Nix hands the daemon its own
netrc-file setting, and the hook, which runs as the daemon user, reads
the token through it. A machine with no token, or no network, keeps
building as before, because a post-build-hook that fails fails the
build it was called for.
GitHub
Time to Start Worker time Duration Time to finish Idle
Config 0s 1s 1s 1s 0s
Eval 0s 27s 27s 28s 0s
Build 26s 0s - - 0s
Test - - - - 22m38s
Deploy - - - - 0s
Suite 0s 28s - - 22m38s