diff --git a/pkg/bridge/convert.go b/pkg/bridge/convert.go index adf676eab4b..5088c4fffc8 100644 --- a/pkg/bridge/convert.go +++ b/pkg/bridge/convert.go @@ -178,7 +178,7 @@ func LoadAdditionalResources(ctx context.Context, dockerCLI command.Cli, project if err != nil { return nil, err } - exposed.Add(strconv.Itoa(int(p.Num()))) + exposed.Add(p.Port()) } for _, port := range service.Ports { exposed.Add(strconv.Itoa(int(port.Target))) @@ -232,9 +232,7 @@ func inspectWithPull(ctx context.Context, dockerCli command.Cli, imageName strin } defer func() { _ = stream.Close() }() - out := dockerCli.Out() - err = jsonmessage.DisplayJSONMessagesStream(stream, out, out.FD(), out.IsTerminal(), nil) - if err != nil { + if err := jsonmessage.DisplayStream(stream, dockerCli.Out()); err != nil { return image.InspectResponse{}, err } if inspect, err = dockerCli.Client().ImageInspect(ctx, imageName); err != nil { diff --git a/pkg/compose/build_classic.go b/pkg/compose/build_classic.go index a5f750ae2dc..7c1f831e970 100644 --- a/pkg/compose/build_classic.go +++ b/pkg/compose/build_classic.go @@ -268,24 +268,22 @@ func (s *composeService) doBuildImage(ctx context.Context, project *types.Projec defer response.Body.Close() //nolint:errcheck imageID := "" - aux := func(msg jsonstream.Message) { + err = jsonmessage.DisplayStream(response.Body, buildBuff, jsonmessage.WithAuxCallback(func(msg jsonstream.Message) { var result buildtypes.Result if err := json.Unmarshal(*msg.Aux, &result); err != nil { logrus.Errorf("Failed to parse aux message: %s", err) } else { imageID = result.ID } - } - - err = jsonmessage.DisplayJSONMessagesStream(response.Body, buildBuff, progBuff.FD(), true, aux) + })) if err != nil { var jerr *jsonstream.Error if errors.As(err, &jerr) { // If no error code is set, default to 1 - if jerr.Code == 0 { - jerr.Code = 1 - } - return "", cli.StatusError{Status: jerr.Message, StatusCode: jerr.Code} + // + // TODO(thaJeztah): DisplayStream should return a errdefs Error corresponding with the status-code. + errCode := min(1, jerr.Code) + return "", cli.StatusError{Status: jerr.Message, StatusCode: errCode} } return "", err }