diff --git a/pkg/skaffold/build/parallel.go b/pkg/skaffold/build/parallel.go index eca0b37742f..96698e7fd38 100644 --- a/pkg/skaffold/build/parallel.go +++ b/pkg/skaffold/build/parallel.go @@ -57,12 +57,12 @@ func InParallel(ctx context.Context, out io.Writer, tags tag.ImageTags, artifact defer cancel() results := new(sync.Map) - outputs := make([]chan []byte, len(artifacts)) + outputs := make([]chan string, len(artifacts)) // Run builds in // wg.Add(len(artifacts)) for i := range artifacts { - outputs[i] = make(chan []byte, buffSize) + outputs[i] = make(chan string, buffSize) r, w := io.Pipe() cw := setUpColorWriter(w, out) @@ -95,10 +95,10 @@ func runBuild(ctx context.Context, cw io.WriteCloser, tags tag.ImageTags, artifa cw.Close() } -func readOutputAndWriteToChannel(r io.Reader, lines chan []byte) { +func readOutputAndWriteToChannel(r io.Reader, lines chan string) { scanner := bufio.NewScanner(r) for scanner.Scan() { - lines <- scanner.Bytes() + lines <- scanner.Text() } close(lines) } @@ -119,7 +119,7 @@ func getBuildResult(ctx context.Context, cw io.Writer, tags tag.ImageTags, artif return build(ctx, cw, artifact, tag) } -func collectResults(out io.Writer, artifacts []*latest.Artifact, results *sync.Map, outputs []chan []byte) ([]Artifact, error) { +func collectResults(out io.Writer, artifacts []*latest.Artifact, results *sync.Map, outputs []chan string) ([]Artifact, error) { var built []Artifact for i, artifact := range artifacts { // Wait for build to complete. @@ -140,9 +140,8 @@ func collectResults(out io.Writer, artifacts []*latest.Artifact, results *sync.M return built, nil } -func printResult(out io.Writer, output chan []byte) { +func printResult(out io.Writer, output chan string) { for line := range output { - out.Write(line) - fmt.Fprintln(out) + fmt.Fprintln(out, line) } } diff --git a/pkg/skaffold/build/parallel_test.go b/pkg/skaffold/build/parallel_test.go index be6feca30b1..817836e0ef0 100644 --- a/pkg/skaffold/build/parallel_test.go +++ b/pkg/skaffold/build/parallel_test.go @@ -325,10 +325,10 @@ func TestColoredOutput(t *testing.T) { } } -func setUpChannels(n int) []chan []byte { - outputs := make([]chan []byte, n) +func setUpChannels(n int) []chan string { + outputs := make([]chan string, n) for i := 0; i < n; i++ { - outputs[i] = make(chan []byte, 10) + outputs[i] = make(chan string, 10) close(outputs[i]) } return outputs