diff --git a/pkg/buildx/commands/bake.go b/pkg/buildx/commands/bake.go index 5f3a10ee..842f041e 100644 --- a/pkg/buildx/commands/bake.go +++ b/pkg/buildx/commands/bake.go @@ -16,6 +16,7 @@ import ( "github.com/depot/cli/pkg/compose" "github.com/depot/cli/pkg/helpers" "github.com/depot/cli/pkg/load" + "github.com/depot/cli/pkg/progresshelper" "github.com/depot/cli/pkg/registry" "github.com/depot/cli/pkg/sbom" buildx "github.com/docker/buildx/build" @@ -187,7 +188,8 @@ func RunBake(dockerCli command.Cli, in BakeOptions, validator BakeValidator) (er var err error // Only load images from requested targets to avoid pulling unnecessary images. if slices.Contains(requestedTargets, resp[i].Name) { - err = load.DepotFastLoad(ctx2, dockerCli.Client(), depotResponses, pullOpts, printer) + reportingPrinter := progresshelper.NewReportingWriter(printer, in.buildID, in.token) + err = load.DepotFastLoad(ctx2, dockerCli.Client(), depotResponses, pullOpts, reportingPrinter) } load.DeleteExportLeases(ctx2, depotResponses) return err diff --git a/pkg/buildx/commands/build.go b/pkg/buildx/commands/build.go index 240d6ed8..a402b5b2 100644 --- a/pkg/buildx/commands/build.go +++ b/pkg/buildx/commands/build.go @@ -27,6 +27,7 @@ import ( "github.com/depot/cli/pkg/debuglog" "github.com/depot/cli/pkg/helpers" "github.com/depot/cli/pkg/load" + "github.com/depot/cli/pkg/progresshelper" "github.com/depot/cli/pkg/registry" "github.com/depot/cli/pkg/sbom" "github.com/distribution/reference" @@ -320,7 +321,8 @@ func buildTargets(ctx context.Context, dockerCli command.Cli, nodes []builder.No } // NOTE: the err is returned at the end of this function after the final prints. - err = load.DepotFastLoad(ctx, dockerCli.Client(), resp, pullOpts, printer) + reportingPrinter := progresshelper.NewReportingWriter(printer, depotOpts.buildID, depotOpts.token) + err = load.DepotFastLoad(ctx, dockerCli.Client(), resp, pullOpts, reportingPrinter) if err != nil && !errors.Is(err, context.Canceled) { // For now, we will fallback by rebuilding with load. if exportLoad { @@ -334,7 +336,7 @@ func buildTargets(ctx context.Context, dockerCli command.Cli, nodes []builder.No } if retryable { - progress.Write(printer, "[load] fast load failed; retrying", func() error { return err }) + progress.Write(reportingPrinter, "[load] fast load failed; retrying", func() error { return err }) opts = load.WithDockerLoad(fallbackOpts) _, err = depotbuildxbuild.DepotBuildWithResultHandler(ctx, buildxNodes, opts, dockerClient, dockerConfigDir, printer, nil, nil, allowNoOutput, depotOpts.build) }