ci: Always store cache (and use cache for build-repo)
It seems that despite the documentation mentioning nothing about it, you can always save a cache even if a job fails. Which is good for us as we are caching the nix stuff, which often works when the whole job fails.
See: https://gitlab.com/gitlab-org/gitlab/-/issues/18969
The other option here (which introduces some more complexity) is to separate the building of the tools into a separate job which then each runner will download and unpack.