hey! I’m exploring GitHub actions on a Haskell project and pulling down packages takes a while, roughly 3m30s of the build. This isn’t an awful time but I feel bad pulling all my packages from cache.nixos.org every build.
GitHub does offer a cache action which I can use to store /nix/store in a big ol’ bundle somewhere that’s quite fast for GitHub Actions to load. When I try to use it, it’s able to pack /nix/store, and download the artifact on the next build, but then it has a lot of permissions errors when trying to unpack to /nix/store!
I’m sure someone has got this working out there, and while I could continue to beat my head against it (maybe by making /nix/store first and assigning the correct permissions?) I figured I’d just ask! Does anyone have this working? How did you do it?
Cachix will still require a download from a remote, right? I don’t quite see how it speeds up actions in this case; the point is downloading dependencies already cached by upstream, just closer to the runner.
I understand the wish to get a single huge tarball over many small ones. Especially if there is a semi-guarantee that the huge tarball comes from within the same region or data center even…