Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package okteto for openSUSE:Factory checked in at 2022-02-10 23:12:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/okteto (Old) and /work/SRC/openSUSE:Factory/.okteto.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "okteto" Thu Feb 10 23:12:19 2022 rev:4 rq:953163 version:1.15.4 Changes: -------- --- /work/SRC/openSUSE:Factory/okteto/okteto.changes 2022-02-03 23:17:47.224080100 +0100 +++ /work/SRC/openSUSE:Factory/.okteto.new.1956/okteto.changes 2022-02-10 23:13:03.644357934 +0100 @@ -1,0 +2,9 @@ +Thu Feb 10 10:10:27 UTC 2022 - [email protected] + +- Update to version 1.15.4: + * fix: nil pointer on err (#2246) + * fix merge + * Jlopezbarb/add metrics (#2226) + * stderr send warnings instead of errors (#2238) + +------------------------------------------------------------------- Old: ---- okteto-1.15.3.tar.gz New: ---- okteto-1.15.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ okteto.spec ++++++ --- /var/tmp/diff_new_pack.ASgIev/_old 2022-02-10 23:13:04.460360001 +0100 +++ /var/tmp/diff_new_pack.ASgIev/_new 2022-02-10 23:13:04.468360021 +0100 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: okteto -Version: 1.15.3 +Version: 1.15.4 Release: 0 Summary: Develop your applications directly in your Kubernetes Cluster License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.ASgIev/_old 2022-02-10 23:13:04.500360102 +0100 +++ /var/tmp/diff_new_pack.ASgIev/_new 2022-02-10 23:13:04.504360112 +0100 @@ -3,7 +3,7 @@ <param name="url">https://github.com/okteto/okteto</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">1.15.3</param> + <param name="revision">1.15.4</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> </service> @@ -15,7 +15,7 @@ <param name="compression">gz</param> </service> <service name="go_modules" mode="disabled"> - <param name="archive">okteto-1.15.3.tar.gz</param> + <param name="archive">okteto-1.15.4.tar.gz</param> </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.ASgIev/_old 2022-02-10 23:13:04.520360153 +0100 +++ /var/tmp/diff_new_pack.ASgIev/_new 2022-02-10 23:13:04.528360173 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/okteto/okteto</param> - <param name="changesrevision">5bdd37cbd4c114f627260dff46d7af3cefc14152</param></service></servicedata> + <param name="changesrevision">bdc64f29ea85bb389dae1eefb8c763951066a38e</param></service></servicedata> (No newline at EOF) ++++++ okteto-1.15.3.tar.gz -> okteto-1.15.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-1.15.3/cmd/deploy/deploy.go new/okteto-1.15.4/cmd/deploy/deploy.go --- old/okteto-1.15.3/cmd/deploy/deploy.go 2022-02-02 16:26:57.000000000 +0100 +++ new/okteto-1.15.4/cmd/deploy/deploy.go 2022-02-09 19:10:28.000000000 +0100 @@ -32,6 +32,7 @@ contextCMD "github.com/okteto/okteto/cmd/context" "github.com/okteto/okteto/cmd/namespace" "github.com/okteto/okteto/cmd/utils" + "github.com/okteto/okteto/pkg/analytics" "github.com/okteto/okteto/pkg/cmd/build" "github.com/okteto/okteto/pkg/config" oktetoErrors "github.com/okteto/okteto/pkg/errors" @@ -79,6 +80,8 @@ executor utils.ManifestExecutor tempKubeconfigFile string k8sClientProvider okteto.K8sClientProvider + + PipelineType string } //Deploy deploys the okteto manifest @@ -181,7 +184,12 @@ tempKubeconfigFile: fmt.Sprintf(tempKubeConfigTemplate, config.GetUserHomeDir(), options.Name), k8sClientProvider: okteto.NewK8sClientProvider(), } - return c.runDeploy(ctx, cwd, options) + + startTime := time.Now() + err = c.runDeploy(ctx, cwd, options) + duration := time.Since(startTime) + analytics.TrackDeploy(err == nil, utils.IsOktetoRepo(), err, duration, c.PipelineType) + return err }, } @@ -209,7 +217,6 @@ return err } oktetoLog.Debug("found okteto manifest") - if opts.Manifest.Deploy == nil { return fmt.Errorf("found okteto manifest, but no deploy commands where defined") } @@ -274,6 +281,7 @@ } opts.Manifest.Context = okteto.Context().Name opts.Manifest.Namespace = okteto.Context().Namespace + dc.PipelineType = opts.Manifest.Type oktetoLog.Debugf("starting server on %d", dc.proxy.GetPort()) dc.proxy.Start() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-1.15.3/cmd/destroy/destroy.go new/okteto-1.15.4/cmd/destroy/destroy.go --- old/okteto-1.15.3/cmd/destroy/destroy.go 2022-02-02 16:26:57.000000000 +0100 +++ new/okteto-1.15.4/cmd/destroy/destroy.go 2022-02-09 19:10:28.000000000 +0100 @@ -20,6 +20,7 @@ contextCMD "github.com/okteto/okteto/cmd/context" "github.com/okteto/okteto/cmd/utils" + "github.com/okteto/okteto/pkg/analytics" "github.com/okteto/okteto/pkg/k8s/namespaces" "github.com/okteto/okteto/pkg/k8s/secrets" oktetoLog "github.com/okteto/okteto/pkg/log" @@ -121,7 +122,9 @@ nsDestroyer: namespaces.NewNamespace(dynClient, discClient, cfg, k8sClient), secrets: secrets.NewSecrets(k8sClient), } - return c.runDestroy(ctx, cwd, options) + err = c.runDestroy(ctx, cwd, options) + analytics.TrackDestroy(err == nil) + return err }, } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-1.15.3/cmd/stack/deploy.go new/okteto-1.15.4/cmd/stack/deploy.go --- old/okteto-1.15.3/cmd/stack/deploy.go 2022-02-02 16:26:57.000000000 +0100 +++ new/okteto-1.15.4/cmd/stack/deploy.go 2022-02-09 19:10:28.000000000 +0100 @@ -73,7 +73,8 @@ } err = stack.Deploy(ctx, s, options) - analytics.TrackDeployStack(err == nil, s.IsCompose) + + analytics.TrackDeployStack(err == nil, s.IsCompose, utils.IsOktetoRepo()) if err == nil { oktetoLog.Success("Stack '%s' successfully deployed", s.Name) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-1.15.3/cmd/up/up.go new/okteto-1.15.4/cmd/up/up.go --- old/okteto-1.15.3/cmd/up/up.go 2022-02-02 16:26:57.000000000 +0100 +++ new/okteto-1.15.4/cmd/up/up.go 2022-02-09 19:10:28.000000000 +0100 @@ -274,7 +274,7 @@ stop := make(chan os.Signal, 1) signal.Notify(stop, os.Interrupt) - analytics.TrackUp(true, up.Dev.Name, up.getInteractive(), len(up.Dev.Services) == 0, up.Dev.Divert != nil) + analytics.TrackUp(true, up.Dev.Name, up.getInteractive(), len(up.Dev.Services) == 0, utils.IsOktetoRepo(), up.Dev.Divert != nil) go up.activateLoop() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-1.15.3/cmd/utils/executor.go new/okteto-1.15.4/cmd/utils/executor.go --- old/okteto-1.15.3/cmd/utils/executor.go 2022-02-02 16:26:57.000000000 +0100 +++ new/okteto-1.15.4/cmd/utils/executor.go 2022-02-09 19:10:28.000000000 +0100 @@ -37,7 +37,8 @@ } type plainExecutorDisplayer struct { - scanner *bufio.Scanner + stdoutScanner *bufio.Scanner + stderrScanner *bufio.Scanner } type jsonExecutorDisplayer struct { stdoutScanner *bufio.Scanner @@ -82,25 +83,40 @@ } func (e *plainExecutorDisplayer) startCommand(cmd *exec.Cmd) error { - - reader, err := cmd.StdoutPipe() + stdoutReader, err := cmd.StdoutPipe() if err != nil { return err } - cmd.Stderr = cmd.Stdout + e.stdoutScanner = bufio.NewScanner(stdoutReader) - if err := startCommand(cmd); err != nil { + stderrReader, err := cmd.StderrPipe() + if err != nil { return err } - e.scanner = bufio.NewScanner(reader) - return nil + e.stderrScanner = bufio.NewScanner(stderrReader) + return startCommand(cmd) } func (e *plainExecutorDisplayer) display(_ string) { - for e.scanner.Scan() { - line := e.scanner.Text() - oktetoLog.Println(line) - } + var wg sync.WaitGroup + wg.Add(2) + go func() { + for e.stdoutScanner.Scan() { + line := e.stdoutScanner.Text() + + oktetoLog.Println(line) + } + wg.Done() + }() + + go func() { + for e.stderrScanner.Scan() { + line := e.stderrScanner.Text() + oktetoLog.Warning(line) + } + wg.Done() + }() + wg.Wait() } func (e *jsonExecutorDisplayer) startCommand(cmd *exec.Cmd) error { @@ -133,7 +149,7 @@ go func() { for e.stderrScanner.Scan() { line := e.stderrScanner.Text() - oktetoLog.Fail(line) + oktetoLog.Warning(line) } wg.Done() }() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-1.15.3/pkg/analytics/track.go new/okteto-1.15.4/pkg/analytics/track.go --- old/okteto-1.15.3/pkg/analytics/track.go 2022-02-02 16:26:57.000000000 +0100 +++ new/okteto-1.15.4/pkg/analytics/track.go 2022-02-09 19:10:28.000000000 +0100 @@ -49,6 +49,8 @@ doctorEvent = "Doctor" buildEvent = "Build" buildTransientErrorEvent = "BuildTransientError" + deployEvent = "Deploy" + destroyEvent = "Destroy" deployStackEvent = "Deploy Stack" destroyStackEvent = "Destroy Stack" loginEvent = "Login" @@ -151,12 +153,13 @@ } // TrackUp sends a tracking event to mixpanel when the user activates a development container -func TrackUp(success bool, devName string, interactive, single, divert bool) { +func TrackUp(success bool, devName string, interactive, single, divert, isOktetoRepository bool) { props := map[string]interface{}{ - "name": devName, - "interactive": interactive, - "singleService": single, - "divert": divert, + "name": devName, + "interactive": interactive, + "singleService": single, + "divert": divert, + "isOktetoRepository": isOktetoRepository, } track(upEvent, success, props) } @@ -236,9 +239,11 @@ } // TrackDeployStack sends a tracking event to mixpanel when the user deploys a stack -func TrackDeployStack(success, isCompose bool) { +func TrackDeployStack(success, isCompose, isOktetoRepo bool) { props := map[string]interface{}{ - "isCompose": isCompose, + "isCompose": isCompose, + "deployType": "stack", + "isOktetoRepository": isOktetoRepo, } track(deployStackEvent, success, props) } @@ -248,6 +253,27 @@ track(destroyStackEvent, success, nil) } +// TrackDeploy sends a tracking event to mixpanel when the user deploys a pipeline from local +func TrackDeploy(success, isOktetoRepo bool, err error, duration time.Duration, pipelineType string) { + if pipelineType == "" { + pipelineType = "pipeline" + } + props := map[string]interface{}{ + "pipelineType": pipelineType, + "isOktetoRepository": isOktetoRepo, + "duration": duration.Seconds(), + } + if err != nil { + props["error"] = err.Error() + } + track(deployEvent, success, props) +} + +// TrackDestroy sends a tracking event to mixpanel when the user destroys a pipeline from local +func TrackDestroy(success bool) { + track(destroyEvent, success, nil) +} + // TrackLogin sends a tracking event to mixpanel when the user logs in func TrackLogin(success bool) { track(loginEvent, success, nil) @@ -333,6 +359,8 @@ props["success"] = success props["contextType"] = getContextType(okteto.Context().Name) props["context"] = okteto.Context().Name + props["cluster"] = okteto.Context().Name + props["isOkteto"] = okteto.Context().IsOkteto if termType := os.Getenv(model.TermEnvVar); termType == "" { props["term-type"] = "other" } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/okteto-1.15.3/pkg/log/json.go new/okteto-1.15.4/pkg/log/json.go --- old/okteto-1.15.3/pkg/log/json.go 2022-02-02 16:26:57.000000000 +0100 +++ new/okteto-1.15.4/pkg/log/json.go 2022-02-09 19:10:28.000000000 +0100 @@ -160,7 +160,10 @@ // Warning prints a message with the warning symbol first, and the text in yellow func (w *JSONWriter) Warning(format string, args ...interface{}) { log.out.Infof(format, args...) - w.Fprintln(fmt.Sprintf("%s %s", warningSymbol, fmt.Sprintf(format, args...))) + msg := fmt.Sprintf("%s %s", warningSymbol, fmt.Sprintf(format, args...)) + if msg != "" { + fmt.Fprintln(w.out.Out, convertToJSON("warn", log.stage, msg)) + } } // Hint prints a message with the text in blue ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/okteto/vendor.tar.gz /work/SRC/openSUSE:Factory/.okteto.new.1956/vendor.tar.gz differ: char 5, line 1
