gitlab-ci: tweak caching strategy

/nix/store is now just a Docker volume on the host running the build,
so the store should just implicitly get shared.
This commit is contained in:
Luke Granger-Brown 2020-05-09 13:48:37 +01:00
parent ed8c77a9c6
commit b9e5dac14c

View file

@ -1,13 +1,14 @@
stages:
- build
nixCache:
stage: build
image: "nixos/nix:latest"
script:
- "mkdir -p ops/secrets"
- "cp ${OPS_SECRETS_DEFAULT_NIX} ops/secrets/default.nix"
- "test -d cache || mkdir cache"
- "test -f cache/nix.closure && nix-store --import < cache/nix.closure"
- "nix build -vv -f ./ci-root.nix --substituters \"https://cache.nixos.org s3://lukegb-nix-cache?endpoint=storage.googleapis.com&trusted=1\""
- "nix-store --export $(nix-store -qR ./result) > cache/nix.closure"
- "nix copy -vv --to 's3://lukegb-nix-cache?endpoint=storage.googleapis.com' ./result"
- "nix build -v -f ./ci-root.nix --substituters \"https://cache.nixos.org s3://lukegb-nix-cache?endpoint=storage.googleapis.com&trusted=1\""
- "nix copy -v --to 's3://lukegb-nix-cache?endpoint=storage.googleapis.com' ./result"
cache:
key: one-key-to-rule-them-all
paths: