diff --git a/new.go b/new.go index 5c47085d..5dfae9eb 100644 --- a/new.go +++ b/new.go @@ -202,6 +202,15 @@ func EnsureMediaTypesAndLayers(image v1.Image, requestedTypes MediaTypes, mutate return nil, false, fmt.Errorf("failed to append layers: %w", err) } + // (5) force compute + afterLayers, err := retImage.Layers() + if err != nil { + return nil, false, fmt.Errorf("failed to get layers: %w", err) + } + if len(afterLayers) != len(beforeLayers) { + return nil, false, fmt.Errorf("expected %d layers; got %d", len(beforeLayers), len(afterLayers)) + } + return retImage, true, nil }