Sfoglia il codice sorgente

Merge pull request #43744 from crazy-max/fix-copy-link

build: force unlazy of refs by calling extract
Sebastiaan van Stijn 3 anni fa
parent
commit
6cd0171868

+ 4 - 0
builder/builder-next/exporter/export.go

@@ -160,6 +160,10 @@ func (e *imageExporterInstance) Export(ctx context.Context, inp exporter.Source,
 			return nil, layersDone(err)
 			return nil, layersDone(err)
 		}
 		}
 
 
+		if err := ref.Extract(ctx, nil); err != nil {
+			return nil, err
+		}
+
 		diffIDs, err := e.opt.Differ.EnsureLayer(ctx, ref.ID())
 		diffIDs, err := e.opt.Differ.EnsureLayer(ctx, ref.ID())
 		if err != nil {
 		if err != nil {
 			return nil, layersDone(err)
 			return nil, layersDone(err)

+ 4 - 1
builder/builder-next/worker/worker.go

@@ -228,7 +228,7 @@ func (w *Worker) Exporter(name string, sm *session.Manager) (exporter.Exporter,
 }
 }
 
 
 // GetRemote returns a remote snapshot reference for a local one
 // GetRemote returns a remote snapshot reference for a local one
-func (w *Worker) GetRemote(ctx context.Context, ref cache.ImmutableRef, createIfNeeded bool, _ compression.Type, _ session.Group) (*solver.Remote, error) {
+func (w *Worker) GetRemote(ctx context.Context, ref cache.ImmutableRef, createIfNeeded bool, _ compression.Type, s session.Group) (*solver.Remote, error) {
 	var diffIDs []layer.DiffID
 	var diffIDs []layer.DiffID
 	var err error
 	var err error
 	if !createIfNeeded {
 	if !createIfNeeded {
@@ -240,6 +240,9 @@ func (w *Worker) GetRemote(ctx context.Context, ref cache.ImmutableRef, createIf
 		if err := ref.Finalize(ctx); err != nil {
 		if err := ref.Finalize(ctx); err != nil {
 			return nil, err
 			return nil, err
 		}
 		}
+		if err := ref.Extract(ctx, s); err != nil {
+			return nil, err
+		}
 		diffIDs, err = w.Layers.EnsureLayer(ctx, ref.ID())
 		diffIDs, err = w.Layers.EnsureLayer(ctx, ref.ID())
 		if err != nil {
 		if err != nil {
 			return nil, err
 			return nil, err