fix: return correct exit code with --exit-code-from (#11715)

This commit is contained in:
Nicolas De loof
2024-04-16 09:44:23 -04:00
committed by GitHub
parent b3792dd258
commit c9e070f0f6
2 changed files with 6 additions and 3 deletions
+5 -3
View File
@@ -138,9 +138,11 @@ func (p *printer) Run(cascade api.Cascade, exitCodeFrom string, stopFn func() er
if cascade == api.CascadeStop && exitCodeFrom == "" {
exitCodeFrom = event.Service
}
if exitCodeFrom == event.Service {
exitCode = event.ExitCode
}
}
if exitCodeFrom == event.Service && (event.Type == api.ContainerEventExit || event.Type == api.ContainerEventStopped) {
// Container was interrupted or exited, let's capture exit code
exitCode = event.ExitCode
}
if len(containers) == 0 {
// Last container terminated, done
+1
View File
@@ -268,6 +268,7 @@ func (s *composeService) watchContainers(ctx context.Context, //nolint:gocyclo
Container: name,
ID: container.ID,
Service: service,
ExitCode: inspected.State.ExitCode,
})
}