From e507b78ae64028e58cf570c928eb43d39c43c12b Mon Sep 17 00:00:00 2001 From: Martin Zihlmann Date: Sun, 13 Oct 2024 04:54:48 +0100 Subject: [PATCH] fix: ignore labels on base image for cache --- pkg/executor/build.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/executor/build.go b/pkg/executor/build.go index e8080fd5f..743ce96e5 100644 --- a/pkg/executor/build.go +++ b/pkg/executor/build.go @@ -113,11 +113,19 @@ func newStageBuilder(args *dockerfile.BuildArgs, opts *config.KanikoOptions, sta l := snapshot.NewLayeredMap(hasher) snapshotter := snapshot.NewSnapshotter(l, config.RootDir) - sourceImageNoTimestamps, err := mutate.CreatedAt(sourceImage, v1.Time{}) + cf, err := sourceImage.ConfigFile() if err != nil { return nil, err } - digest, err := sourceImageNoTimestamps.Digest() + cfg := cf.DeepCopy() + cfg.Created = v1.Time{} + cfg.Config.Labels = map[string]string{} + sourceImageReproducible, err := mutate.ConfigFile(sourceImage, cfg) + if err != nil { + return nil, err + } + + digest, err := sourceImageReproducible.Digest() if err != nil { return nil, err }