Skip to content

Commit

Permalink
avoid duplicated "xx exited with code 0" message
Browse files Browse the repository at this point in the history
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
  • Loading branch information
ndeloof committed Feb 29, 2024
1 parent 8ab8df8 commit e99b8ac
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 8 deletions.
15 changes: 9 additions & 6 deletions pkg/compose/printer.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ func (p *printer) Run(cascadeStop bool, exitCodeFrom string, stopFn func() error
)
defer p.Stop()

containers := map[string]struct{}{}
// containers we are tracking. Use true when container is running, false after we receive a stop|die signal
containers := map[string]bool{}
for {
select {
case <-p.stopCh:
Expand All @@ -100,18 +101,20 @@ func (p *printer) Run(cascadeStop bool, exitCodeFrom string, stopFn func() error
if _, ok := containers[id]; ok {
continue
}
containers[id] = struct{}{}
containers[id] = true
p.consumer.Register(container)
case api.ContainerEventExit, api.ContainerEventStopped, api.ContainerEventRecreated:
if !event.Restarting {
delete(containers, id)
}
if !aborting {
if !aborting && containers[id] {
p.consumer.Status(container, fmt.Sprintf("exited with code %d", event.ExitCode))
if event.Type == api.ContainerEventRecreated {
p.consumer.Status(container, "has been recreated")
}
}
containers[id] = false
if !event.Restarting {
delete(containers, id)
}

if cascadeStop {
if !aborting {
aborting = true
Expand Down
4 changes: 3 additions & 1 deletion pkg/compose/up.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,10 @@ func (s *composeService) Up(ctx context.Context, project *types.Project, options

if options.Start.Watch {
eg.Go(func() error {
buildOpts := *options.Create.Build
buildOpts.Quiet = true
return s.Watch(ctx, project, options.Start.Services, api.WatchOptions{
Build: options.Create.Build,
Build: &buildOpts,
LogTo: options.Start.Attach,
})
})
Expand Down
1 change: 0 additions & 1 deletion pkg/compose/watch.go
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,6 @@ func (s *composeService) handleWatchBatch(ctx context.Context, project *types.Pr
options.LogTo.Log(api.WatchLogger, fmt.Sprintf("Rebuilding service %q after changes were detected...", serviceName))
// restrict the build to ONLY this service, not any of its dependencies
options.Build.Services = []string{serviceName}
options.Build.Quiet = true
_, err := s.build(ctx, project, *options.Build, nil)
if err != nil {
options.LogTo.Log(api.WatchLogger, fmt.Sprintf("Build failed. Error: %v", err))
Expand Down

0 comments on commit e99b8ac

Please sign in to comment.