From c4e15c62ae788363155033eee813ac1986efbf48 Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Tue, 13 Feb 2024 21:06:56 +0100 Subject: [PATCH] Emit events for building images Signed-off-by: Felix Fontein --- pkg/compose/build.go | 7 +++++++ pkg/compose/build_buildkit.go | 5 ----- pkg/progress/event.go | 10 ++++++++++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/pkg/compose/build.go b/pkg/compose/build.go index 593209484b..27fedac094 100644 --- a/pkg/compose/build.go +++ b/pkg/compose/build.go @@ -158,11 +158,16 @@ func (s *composeService) build(ctx context.Context, project *types.Project, opti } service := serviceToBuild.service + cw := progress.ContextWriter(ctx) + serviceName := fmt.Sprintf("Service %s", name) + if !buildkitEnabled { + cw.Event(progress.BuildingEvent(serviceName)) id, err := s.doBuildClassic(ctx, project, service, options) if err != nil { return err } + cw.Event(progress.BuiltEvent(serviceName)) builtDigests[getServiceIndex(name)] = id if options.Push { @@ -180,10 +185,12 @@ func (s *composeService) build(ctx context.Context, project *types.Project, opti return err } + cw.Event(progress.BuildingEvent(serviceName)) digest, err := s.doBuildBuildkit(ctx, name, buildOptions, w, nodes) if err != nil { return err } + cw.Event(progress.BuiltEvent(serviceName)) builtDigests[getServiceIndex(name)] = digest return nil diff --git a/pkg/compose/build_buildkit.go b/pkg/compose/build_buildkit.go index b530d463c3..4b28b292dc 100644 --- a/pkg/compose/build_buildkit.go +++ b/pkg/compose/build_buildkit.go @@ -70,11 +70,6 @@ func (s composeService) dryRunBuildResponse(ctx context.Context, name string, op w := progress.ContextWriter(ctx) buildResponse := map[string]*client.SolveResponse{} dryRunUUID := fmt.Sprintf("dryRun-%x", sha1.Sum([]byte(name))) - w.Event(progress.Event{ - ID: " ", - Status: progress.Done, - Text: fmt.Sprintf("build service %s", name), - }) w.Event(progress.Event{ ID: "==>", Status: progress.Done, diff --git a/pkg/progress/event.go b/pkg/progress/event.go index 267dbe192b..7b66946eee 100644 --- a/pkg/progress/event.go +++ b/pkg/progress/event.go @@ -153,6 +153,16 @@ func RemovedEvent(id string) Event { return NewEvent(id, Done, "Removed") } +// BuildingEvent creates a new Building in progress Event +func BuildingEvent(id string) Event { + return NewEvent(id, Working, "Building") +} + +// BuiltEvent creates a new built (done) Event +func BuiltEvent(id string) Event { + return NewEvent(id, Done, "Built") +} + // SkippedEvent creates a new Skipped Event func SkippedEvent(id string, reason string) Event { return Event{