INNER CODE UNIT · Go
cacheLayer
tazjin/nixery · builder/cache.go:183
func cacheLayer(ctx context.Context, s *State, key string, entry manifest.Entry) {
s.Cache.localCacheLayer(key, entry)
j, _ := json.Marshal(&entry)
path := "builds/" + key
_, _, err := s.Storage.Persist(ctx, path, "", func(w io.Writer) (string, int64, error) {
size, err := io.Copy(w, bytes.NewReader(j))
return "", size, err
})
if err != nil {
slog.Error("failed to cache layer", "err", err, "layer", key, "backend", s.Storage.Name())
}
return
}