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
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…