diff --git a/pkg/skaffold/build/cache/retrieve.go b/pkg/skaffold/build/cache/retrieve.go index b04257bcc08..b2a69cf4bec 100644 --- a/pkg/skaffold/build/cache/retrieve.go +++ b/pkg/skaffold/build/cache/retrieve.go @@ -62,7 +62,7 @@ func (c *cache) Build(ctx context.Context, out io.Writer, tags tag.ImageTags, ar var alreadyBuilt []graph.Artifact for i, artifact := range artifacts { eventV2.CacheCheckInProgress(artifact.ImageName) - out := output.WithEventContext(out, constants.Build, artifact.ImageName) + out, _ := output.WithEventContext(out, constants.Build, artifact.ImageName) output.Default.Fprintf(out, " - %s: ", artifact.ImageName) result := results[i] diff --git a/pkg/skaffold/build/scheduler.go b/pkg/skaffold/build/scheduler.go index e51e1e509d1..9f8dcbbbba1 100644 --- a/pkg/skaffold/build/scheduler.go +++ b/pkg/skaffold/build/scheduler.go @@ -108,7 +108,7 @@ func (s *scheduler) build(ctx context.Context, tags tag.ImageTags, i int) error } defer closeFn() - w = output.WithEventContext(w, constants.Build, a.ImageName) + w, _ = output.WithEventContext(w, constants.Build, a.ImageName) finalTag, err := performBuild(ctx, w, tags, a, s.artifactBuilder) if err != nil { event.BuildFailed(a.ImageName, err) diff --git a/pkg/skaffold/deploy/deploy_mux.go b/pkg/skaffold/deploy/deploy_mux.go index db3506aa1df..99c6568f65c 100644 --- a/pkg/skaffold/deploy/deploy_mux.go +++ b/pkg/skaffold/deploy/deploy_mux.go @@ -102,7 +102,7 @@ func (m DeployerMux) RegisterLocalImages(images []graph.Artifact) { func (m DeployerMux) Deploy(ctx context.Context, w io.Writer, as []graph.Artifact) error { for i, deployer := range m.deployers { eventV2.DeployInProgress(i) - w = output.WithEventContext(w, constants.Deploy, strconv.Itoa(i)) + w, _ = output.WithEventContext(w, constants.Deploy, strconv.Itoa(i)) ctx, endTrace := instrumentation.StartTrace(ctx, "Deploy") if err := deployer.Deploy(ctx, w, as); err != nil { diff --git a/pkg/skaffold/kubernetes/portforward/entry_manager.go b/pkg/skaffold/kubernetes/portforward/entry_manager.go index 0a3cb4f9149..b0c4a78e4e8 100644 --- a/pkg/skaffold/kubernetes/portforward/entry_manager.go +++ b/pkg/skaffold/kubernetes/portforward/entry_manager.go @@ -115,7 +115,7 @@ func NewEntryManager(entryForwarder EntryForwarder) *EntryManager { } func (b *EntryManager) forwardPortForwardEntry(ctx context.Context, out io.Writer, entry *portForwardEntry) { - out = output.WithEventContext(out, constants.PortForward, fmt.Sprintf("%s/%s", entry.resource.Type, entry.resource.Name)) + out, _ = output.WithEventContext(out, constants.PortForward, fmt.Sprintf("%s/%s", entry.resource.Type, entry.resource.Name)) // Check if this resource has already been forwarded if _, ok := b.forwardedResources.Load(entry.key()); ok { diff --git a/pkg/skaffold/kubernetes/status/status_check.go b/pkg/skaffold/kubernetes/status/status_check.go index 6e00599a46d..c9fdea50ebd 100644 --- a/pkg/skaffold/kubernetes/status/status_check.go +++ b/pkg/skaffold/kubernetes/status/status_check.go @@ -287,7 +287,7 @@ func (s *Monitor) printStatusCheckSummary(out io.Writer, r *resource.Deployment, } event.ResourceStatusCheckEventCompleted(r.String(), ae) eventV2.ResourceStatusCheckEventCompleted(r.String(), sErrors.V2fromV1(ae)) - out = output.WithEventContext(out, constants.Deploy, r.String()) + out, _ = output.WithEventContext(out, constants.Deploy, r.String()) status := fmt.Sprintf("%s %s", tabHeader, r) if ae.ErrCode != proto.StatusCode_STATUSCHECK_SUCCESS { if str := r.ReportSinceLastUpdated(s.muteLogs); str != "" { @@ -333,7 +333,7 @@ func (s *Monitor) printStatus(deployments []*resource.Deployment, out io.Writer) ae := r.Status().ActionableError() event.ResourceStatusCheckEventUpdated(r.String(), ae) eventV2.ResourceStatusCheckEventUpdated(r.String(), sErrors.V2fromV1(ae)) - out := output.WithEventContext(out, constants.Deploy, r.String()) + out, _ := output.WithEventContext(out, constants.Deploy, r.String()) fmt.Fprintln(out, trimNewLine(str)) } } diff --git a/pkg/skaffold/output/output.go b/pkg/skaffold/output/output.go index e76382a3daa..411ba8c4d0a 100644 --- a/pkg/skaffold/output/output.go +++ b/pkg/skaffold/output/output.go @@ -21,6 +21,8 @@ import ( "os" "time" + "github.com/sirupsen/logrus" + "github.com/GoogleContainerTools/skaffold/pkg/skaffold/constants" eventV2 "github.com/GoogleContainerTools/skaffold/pkg/skaffold/event/v2" ) @@ -99,14 +101,14 @@ func GetUnderlyingWriter(out io.Writer) io.Writer { // WithEventContext will return a new skaffoldWriter with the given parameters to be used for the event writer. // If the passed io.Writer is not a skaffoldWriter, then it is simply returned. -func WithEventContext(out io.Writer, phase constants.Phase, subtaskID string) io.Writer { +func WithEventContext(out io.Writer, phase constants.Phase, subtaskID string) (io.Writer, *logrus.Logger) { if sw, isSW := out.(skaffoldWriter); isSW { return skaffoldWriter{ MainWriter: sw.MainWriter, EventWriter: eventV2.NewLogger(phase, subtaskID), timestamps: sw.timestamps, - } + }, nil } - return out + return out, nil } diff --git a/pkg/skaffold/output/output_test.go b/pkg/skaffold/output/output_test.go index 079c0f5fd20..d53c9436be1 100644 --- a/pkg/skaffold/output/output_test.go +++ b/pkg/skaffold/output/output_test.go @@ -152,7 +152,7 @@ func TestWithEventContext(t *testing.T) { for _, test := range tests { testutil.Run(t, test.name, func(t *testutil.T) { - got := WithEventContext(test.writer, test.phase, test.subtaskID) + got, _ := WithEventContext(test.writer, test.phase, test.subtaskID) t.CheckDeepEqual(test.expected, got, cmpopts.IgnoreTypes(false)) }) } diff --git a/pkg/skaffold/runner/build.go b/pkg/skaffold/runner/build.go index 8ab044a97ab..205bf00c4a9 100644 --- a/pkg/skaffold/runner/build.go +++ b/pkg/skaffold/runner/build.go @@ -65,7 +65,7 @@ func (r *Builder) GetBuilds() []graph.Artifact { // Build builds a list of artifacts. func (r *Builder) Build(ctx context.Context, out io.Writer, artifacts []*latestV1.Artifact) ([]graph.Artifact, error) { eventV2.TaskInProgress(constants.Build, "Build containers") - out = output.WithEventContext(out, constants.Build, eventV2.SubtaskIDNone) + out, _ = output.WithEventContext(out, constants.Build, eventV2.SubtaskIDNone) // Use tags directly from the Kubernetes manifests. if r.runCtx.DigestSource() == NoneDigestSource { @@ -172,7 +172,7 @@ func (r *Builder) imageTags(ctx context.Context, out io.Writer, artifacts []*lat for i, artifact := range artifacts { imageName := artifact.ImageName - out := output.WithEventContext(out, constants.Build, imageName) + out, _ := output.WithEventContext(out, constants.Build, imageName) output.Default.Fprintf(out, " - %s -> ", imageName) select { diff --git a/pkg/skaffold/runner/v1/deploy.go b/pkg/skaffold/runner/v1/deploy.go index bd0cf8f94f6..9a9bad9b8bc 100644 --- a/pkg/skaffold/runner/v1/deploy.go +++ b/pkg/skaffold/runner/v1/deploy.go @@ -69,7 +69,7 @@ func (r *SkaffoldRunner) Deploy(ctx context.Context, out io.Writer, artifacts [] } defer r.deployer.GetStatusMonitor().Reset() - out = output.WithEventContext(out, constants.Deploy, eventV2.SubtaskIDNone) + out, _ = output.WithEventContext(out, constants.Deploy, eventV2.SubtaskIDNone) output.Default.Fprintln(out, "Tags used in deployment:")