Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package werf for openSUSE:Factory checked in 
at 2025-05-20 09:35:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/werf (Old)
 and      /work/SRC/openSUSE:Factory/.werf.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "werf"

Tue May 20 09:35:02 2025 rev:51 rq:1278020 version:2.36.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/werf/werf.changes        2025-05-07 
19:21:47.088504533 +0200
+++ /work/SRC/openSUSE:Factory/.werf.new.30101/werf.changes     2025-05-20 
09:37:14.923148354 +0200
@@ -1,0 +2,17 @@
+Fri May 16 10:16:43 UTC 2025 - Johannes Kastl 
<opensuse_buildserv...@ojkastl.de>
+
+- Update to version 2.36.0:
+  * Features
+    - deploy: --no-install-crds option for converge, plan, bundle
+      apply (8fd1a04)
+    - deploy: --release-label option for converge/bundle apply
+      (222d031)
+    - logging: show image index and total to indicate build
+      progress (b7652b3)
+  * Bug Fixes
+    - avoid checksum errors in service worktree when
+      core.untrackedCache is enabled (0952e34)
+    - logging: use yellow color for warnings to distinguish them
+      from errors (c52f375)
+
+-------------------------------------------------------------------

Old:
----
  werf-2.35.10.obscpio

New:
----
  werf-2.36.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ werf.spec ++++++
--- /var/tmp/diff_new_pack.sIPZLk/_old  2025-05-20 09:37:15.919191824 +0200
+++ /var/tmp/diff_new_pack.sIPZLk/_new  2025-05-20 09:37:15.919191824 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           werf
-Version:        2.35.10
+Version:        2.36.0
 Release:        0
 Summary:        CLI for the Werf CI/CD system
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.sIPZLk/_old  2025-05-20 09:37:15.951193220 +0200
+++ /var/tmp/diff_new_pack.sIPZLk/_new  2025-05-20 09:37:15.955193395 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/werf/werf</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v2.35.10</param>
+    <param name="revision">v2.36.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.sIPZLk/_old  2025-05-20 09:37:15.975194268 +0200
+++ /var/tmp/diff_new_pack.sIPZLk/_new  2025-05-20 09:37:15.979194442 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/werf/werf</param>
-              <param 
name="changesrevision">921d27891ceac165f6ee26273eb2505d218242cf</param></service></servicedata>
+              <param 
name="changesrevision">426238e66c9d60fb6e5a3a9e64761202e356c647</param></service></servicedata>
 (No newline at EOF)
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/werf/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.werf.new.30101/vendor.tar.gz differ: char 31, line 1

++++++ werf-2.35.10.obscpio -> werf-2.36.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/CHANGELOG.md 
new/werf-2.36.0/CHANGELOG.md
--- old/werf-2.35.10/CHANGELOG.md       2025-05-07 12:17:30.000000000 +0200
+++ new/werf-2.36.0/CHANGELOG.md        2025-05-16 11:12:53.000000000 +0200
@@ -1,5 +1,20 @@
 # Changelog
 
+## [2.36.0](https://www.github.com/werf/werf/compare/v2.35.10...v2.36.0) 
(2025-05-15)
+
+
+### Features
+
+* **deploy:** `--no-install-crds` option for `converge`, `plan`, `bundle 
apply` 
([8fd1a04](https://www.github.com/werf/werf/commit/8fd1a041c15e29fc4b738ec05226a0ddd94f9f58))
+* **deploy:** `--release-label` option for `converge`/`bundle apply` 
([222d031](https://www.github.com/werf/werf/commit/222d031da30e7169b4e502c998352673d4cc98a2))
+* **logging:** show image index and total to indicate build progress 
([b7652b3](https://www.github.com/werf/werf/commit/b7652b3eec15d56292f0f91034b3bcbf69d5c22b))
+
+
+### Bug Fixes
+
+* avoid checksum errors in service worktree when core.untrackedCache is 
enabled 
([0952e34](https://www.github.com/werf/werf/commit/0952e34c0a1434e9269e798f595ff5724af1bab2))
+* **logging:** use yellow color for warnings to distinguish them from errors 
([c52f375](https://www.github.com/werf/werf/commit/c52f375882658254025e7da3016164f2bdcfb074))
+
 ### [2.35.10](https://www.github.com/werf/werf/compare/v2.35.9...v2.35.10) 
(2025-05-07)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/cmd/werf/bundle/apply/apply.go 
new/werf-2.36.0/cmd/werf/bundle/apply/apply.go
--- old/werf-2.35.10/cmd/werf/bundle/apply/apply.go     2025-05-07 
12:17:30.000000000 +0200
+++ new/werf-2.36.0/cmd/werf/bundle/apply/apply.go      2025-05-16 
11:12:53.000000000 +0200
@@ -119,6 +119,8 @@
        common.SetupRollbackGraphPath(&commonCmdData, cmd)
 
        common.SetupRenderSubchartNotes(&commonCmdData, cmd)
+       common.SetupNoInstallCRDs(&commonCmdData, cmd)
+       common.SetupReleaseLabel(&commonCmdData, cmd)
 
        defaultTag := os.Getenv("WERF_TAG")
        if defaultTag == "" {
@@ -207,6 +209,11 @@
                return fmt.Errorf("get annotations and labels: %w", err)
        }
 
+       releaseLabels, err := common.GetReleaseLabels(&commonCmdData)
+       if err != nil {
+               return fmt.Errorf("get release labels: %w", err)
+       }
+
        chart.CurrentChartType = chart.ChartTypeBundle
 
        ctx = action.SetupLogging(ctx, 
cmp.Or(common.GetNelmLogLevel(&commonCmdData), 
action.DefaultReleaseInstallLogLevel), action.SetupLoggingOptions{
@@ -238,11 +245,13 @@
                KubeToken:                    *commonCmdData.KubeToken,
                LogRegistryStreamOut:         os.Stdout,
                NetworkParallelism:           
common.GetNetworkParallelism(&commonCmdData),
+               NoInstallCRDs:                *commonCmdData.NoInstallCRDs,
                NoProgressTablePrint:         
*commonCmdData.StatusProgressPeriodSeconds == -1,
                ProgressTablePrintInterval:   
time.Duration(*commonCmdData.StatusProgressPeriodSeconds) * time.Second,
                RegistryCredentialsPath:      registryCredentialsPath,
                ReleaseHistoryLimit:          *commonCmdData.ReleasesHistoryMax,
                ReleaseInfoAnnotations:       serviceAnnotations,
+               ReleaseLabels:                releaseLabels,
                ReleaseStorageDriver:         os.Getenv("HELM_DRIVER"),
                RollbackGraphPath:            
common.GetRollbackGraphPath(&commonCmdData),
                SecretKeyIgnore:              *commonCmdData.IgnoreSecretKey,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/cmd/werf/bundle/render/render.go 
new/werf-2.36.0/cmd/werf/bundle/render/render.go
--- old/werf-2.35.10/cmd/werf/bundle/render/render.go   2025-05-07 
12:17:30.000000000 +0200
+++ new/werf-2.36.0/cmd/werf/bundle/render/render.go    2025-05-16 
11:12:53.000000000 +0200
@@ -220,7 +220,7 @@
                LogIsParseable: true,
        })
 
-       if err := action.ChartRender(ctx, action.ChartRenderOptions{
+       if _, err := action.ChartRender(ctx, action.ChartRenderOptions{
                ChartDirPath:                 bundlePath,
                ChartRepositoryInsecure:      
*commonCmdData.InsecureHelmDependencies,
                ChartRepositorySkipTLSVerify: 
*commonCmdData.SkipTlsVerifyHelmDependencies,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/cmd/werf/common/cmd_data.go 
new/werf-2.36.0/cmd/werf/common/cmd_data.go
--- old/werf-2.35.10/cmd/werf/common/cmd_data.go        2025-05-07 
12:17:30.000000000 +0200
+++ new/werf-2.36.0/cmd/werf/common/cmd_data.go 2025-05-16 11:12:53.000000000 
+0200
@@ -116,6 +116,8 @@
        RollbackGraphPath *string
 
        RenderSubchartNotes *bool
+       NoInstallCRDs       *bool
+       ReleaseLabels       *[]string
 
        VirtualMerge *bool
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/cmd/werf/common/common.go 
new/werf-2.36.0/cmd/werf/common/common.go
--- old/werf-2.35.10/cmd/werf/common/common.go  2025-05-07 12:17:30.000000000 
+0200
+++ new/werf-2.36.0/cmd/werf/common/common.go   2025-05-16 11:12:53.000000000 
+0200
@@ -298,6 +298,19 @@
        )
 }
 
+func SetupNoInstallCRDs(cmdData *CmdData, cmd *cobra.Command) {
+       cmdData.NoInstallCRDs = new(bool)
+
+       cmd.Flags().BoolVarP(cmdData.NoInstallCRDs, "no-install-crds", "", 
util.GetBoolEnvironmentDefaultFalse("WERF_NO_INSTALL_CRDS"), `Do not install 
CRDs from "crds/" directories of installed charts (default 
$WERF_NO_INSTALL_CRDS)`)
+}
+
+func SetupReleaseLabel(cmdData *CmdData, cmd *cobra.Command) {
+       cmdData.ReleaseLabels = new([]string)
+       cmd.Flags().StringArrayVarP(cmdData.ReleaseLabels, "release-label", "", 
[]string{}, `Add Helm release labels (can specify multiple). Kind of labels 
depends or release storage driver.
+Format: labelName=labelValue.
+Also, can be specified with $WERF_RELEASE_LABEL_* (e.g. 
$WERF_RELEASE_LABEL_1=labelName1=labelValue1, 
$WERF_RELEASE_LABEL_2=labelName2=labelValue2)`)
+}
+
 func GetNetworkParallelism(cmdData *CmdData) int {
        if *cmdData.NetworkParallelism < 1 {
                panic(fmt.Sprintf("bad network parallelism value: %d (should be 
>= 1)", *cmdData.NetworkParallelism))
@@ -1327,6 +1340,10 @@
        return 
append(util.PredefinedValuesByEnvNamePrefix("WERF_ADD_ANNOTATION_"), 
*cmdData.AddAnnotations...)
 }
 
+func GetReleaseLabel(cmdData *CmdData) []string {
+       return 
append(util.PredefinedValuesByEnvNamePrefix("WERF_RELEASE_LABEL_"), 
*cmdData.ReleaseLabels...)
+}
+
 func GetCacheStagesStorage(cmdData *CmdData) []string {
        return append(util.PredefinedValuesByEnvNamePrefix("WERF_CACHE_REPO_"), 
*cmdData.CacheStagesStorage...)
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/cmd/werf/common/deploy_params.go 
new/werf-2.36.0/cmd/werf/common/deploy_params.go
--- old/werf-2.35.10/cmd/werf/common/deploy_params.go   2025-05-07 
12:17:30.000000000 +0200
+++ new/werf-2.36.0/cmd/werf/common/deploy_params.go    2025-05-16 
11:12:53.000000000 +0200
@@ -30,6 +30,15 @@
        return result, nil
 }
 
+func GetReleaseLabels(cmdData *CmdData) (map[string]string, error) {
+       result, err := keyValueArrayToMap(GetReleaseLabel(cmdData), 
DefaultKeyValueSeparator)
+       if err != nil {
+               return nil, fmt.Errorf("invalid --release-label value: %w", err)
+       }
+
+       return result, nil
+}
+
 // InputArrayToKeyValueMap converts an array of strings in the form of 
key1=value1[,key2=value2] to a map.
 func InputArrayToKeyValueMap(input []string, pairSep, keyValueSep string) 
(map[string]string, error) {
        result := map[string]string{}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/cmd/werf/converge/converge.go 
new/werf-2.36.0/cmd/werf/converge/converge.go
--- old/werf-2.35.10/cmd/werf/converge/converge.go      2025-05-07 
12:17:30.000000000 +0200
+++ new/werf-2.36.0/cmd/werf/converge/converge.go       2025-05-16 
11:12:53.000000000 +0200
@@ -184,6 +184,8 @@
        common.SetupRollbackGraphPath(&commonCmdData, cmd)
 
        common.SetupRenderSubchartNotes(&commonCmdData, cmd)
+       common.SetupNoInstallCRDs(&commonCmdData, cmd)
+       common.SetupReleaseLabel(&commonCmdData, cmd)
 
        defaultTimeout, err := util.GetIntEnvVar("WERF_TIMEOUT")
        if err != nil || defaultTimeout == nil {
@@ -430,6 +432,11 @@
                return fmt.Errorf("get service values: %w", err)
        }
 
+       releaseLabels, err := common.GetReleaseLabels(&commonCmdData)
+       if err != nil {
+               return fmt.Errorf("get release labels: %w", err)
+       }
+
        loader.ChartFileReader = giterminismManager.FileReader()
 
        ctx = action.SetupLogging(ctx, 
cmp.Or(common.GetNelmLogLevel(&commonCmdData), 
action.DefaultReleaseInstallLogLevel), action.SetupLoggingOptions{
@@ -465,11 +472,13 @@
                KubeToken:                    *commonCmdData.KubeToken,
                LogRegistryStreamOut:         os.Stdout,
                NetworkParallelism:           
common.GetNetworkParallelism(&commonCmdData),
+               NoInstallCRDs:                *commonCmdData.NoInstallCRDs,
                NoProgressTablePrint:         
*commonCmdData.StatusProgressPeriodSeconds == -1,
                ProgressTablePrintInterval:   
time.Duration(*commonCmdData.StatusProgressPeriodSeconds) * time.Second,
                RegistryCredentialsPath:      registryCredentialsPath,
                ReleaseHistoryLimit:          *commonCmdData.ReleasesHistoryMax,
                ReleaseInfoAnnotations:       serviceAnnotations,
+               ReleaseLabels:                releaseLabels,
                ReleaseStorageDriver:         os.Getenv("HELM_DRIVER"),
                RollbackGraphPath:            
common.GetRollbackGraphPath(&commonCmdData),
                SecretKeyIgnore:              *commonCmdData.IgnoreSecretKey,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/cmd/werf/plan/plan.go 
new/werf-2.36.0/cmd/werf/plan/plan.go
--- old/werf-2.35.10/cmd/werf/plan/plan.go      2025-05-07 12:17:30.000000000 
+0200
+++ new/werf-2.36.0/cmd/werf/plan/plan.go       2025-05-16 11:12:53.000000000 
+0200
@@ -179,6 +179,7 @@
        common.SetupNetworkParallelism(&commonCmdData, cmd)
        common.SetupKubeQpsLimit(&commonCmdData, cmd)
        common.SetupKubeBurstLimit(&commonCmdData, cmd)
+       common.SetupNoInstallCRDs(&commonCmdData, cmd)
 
        defaultTimeout, err := util.GetIntEnvVar("WERF_TIMEOUT")
        if err != nil || defaultTimeout == nil {
@@ -464,6 +465,7 @@
                KubeToken:                    *commonCmdData.KubeToken,
                LogRegistryStreamOut:         os.Stdout,
                NetworkParallelism:           
common.GetNetworkParallelism(&commonCmdData),
+               NoInstallCRDs:                *commonCmdData.NoInstallCRDs,
                RegistryCredentialsPath:      registryCredentialsPath,
                ReleaseStorageDriver:         os.Getenv("HELM_DRIVER"),
                SecretKeyIgnore:              *commonCmdData.IgnoreSecretKey,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/cmd/werf/render/render.go 
new/werf-2.36.0/cmd/werf/render/render.go
--- old/werf-2.35.10/cmd/werf/render/render.go  2025-05-07 12:17:30.000000000 
+0200
+++ new/werf-2.36.0/cmd/werf/render/render.go   2025-05-16 11:12:53.000000000 
+0200
@@ -399,7 +399,7 @@
                LogIsParseable: true,
        })
 
-       if err := action.ChartRender(ctx, action.ChartRenderOptions{
+       if _, err := action.ChartRender(ctx, action.ChartRenderOptions{
                ChartAppVersion:              
common.GetHelmChartConfigAppVersion(werfConfig),
                ChartDirPath:                 chartPath,
                ChartRepositoryInsecure:      
*commonCmdData.InsecureHelmDependencies,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/werf-2.35.10/docs/_includes/reference/cli/werf_bundle_apply.md 
new/werf-2.36.0/docs/_includes/reference/cli/werf_bundle_apply.md
--- old/werf-2.35.10/docs/_includes/reference/cli/werf_bundle_apply.md  
2025-05-07 12:17:30.000000000 +0200
+++ new/werf-2.36.0/docs/_includes/reference/cli/werf_bundle_apply.md   
2025-05-16 11:12:53.000000000 +0200
@@ -118,8 +118,18 @@
             Use specified Kubernetes namespace (default $WERF_NAMESPACE)
       --network-parallelism=30
             Parallelize some network operations (default 
$WERF_NETWORK_PARALLELISM or 30)
+      --no-install-crds=false
+            Do not install CRDs from "crds/" directories of installed charts 
(default               
+            $WERF_NO_INSTALL_CRDS)
       --release=""
             Use specified Helm release name (default $WERF_RELEASE)
+      --release-label=[]
+            Add Helm release labels (can specify multiple). Kind of labels 
depends or release       
+            storage driver.
+            Format: labelName=labelValue.
+            Also, can be specified with $WERF_RELEASE_LABEL_* (e.g.            
                     
+            $WERF_RELEASE_LABEL_1=labelName1=labelValue1,                      
                     
+            $WERF_RELEASE_LABEL_2=labelName2=labelValue2)
       --releases-history-max=5
             Max releases to keep in release storage 
($WERF_RELEASES_HISTORY_MAX or 5 by default)
       --render-subchart-notes=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/werf-2.35.10/docs/_includes/reference/cli/werf_converge.md 
new/werf-2.36.0/docs/_includes/reference/cli/werf_converge.md
--- old/werf-2.35.10/docs/_includes/reference/cli/werf_converge.md      
2025-05-07 12:17:30.000000000 +0200
+++ new/werf-2.36.0/docs/_includes/reference/cli/werf_converge.md       
2025-05-16 11:12:53.000000000 +0200
@@ -264,6 +264,9 @@
             deploy.namespace custom template from werf.yaml or $WERF_NAMESPACE)
       --network-parallelism=30
             Parallelize some network operations (default 
$WERF_NETWORK_PARALLELISM or 30)
+      --no-install-crds=false
+            Do not install CRDs from "crds/" directories of installed charts 
(default               
+            $WERF_NO_INSTALL_CRDS)
   -p, --parallel=true
             Run in parallel (default $WERF_PARALLEL or true)
       --parallel-tasks-limit=5
@@ -275,6 +278,13 @@
       --release=""
             Use specified Helm release name (default [[ project ]]-[[ env ]] 
template or            
             deploy.helmRelease custom template from werf.yaml or $WERF_RELEASE)
+      --release-label=[]
+            Add Helm release labels (can specify multiple). Kind of labels 
depends or release       
+            storage driver.
+            Format: labelName=labelValue.
+            Also, can be specified with $WERF_RELEASE_LABEL_* (e.g.            
                     
+            $WERF_RELEASE_LABEL_1=labelName1=labelValue1,                      
                     
+            $WERF_RELEASE_LABEL_2=labelName2=labelValue2)
       --releases-history-max=5
             Max releases to keep in release storage 
($WERF_RELEASES_HISTORY_MAX or 5 by default)
       --render-subchart-notes=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/werf-2.35.10/docs/_includes/reference/cli/werf_plan.md 
new/werf-2.36.0/docs/_includes/reference/cli/werf_plan.md
--- old/werf-2.35.10/docs/_includes/reference/cli/werf_plan.md  2025-05-07 
12:17:30.000000000 +0200
+++ new/werf-2.36.0/docs/_includes/reference/cli/werf_plan.md   2025-05-16 
11:12:53.000000000 +0200
@@ -252,6 +252,9 @@
             deploy.namespace custom template from werf.yaml or $WERF_NAMESPACE)
       --network-parallelism=30
             Parallelize some network operations (default 
$WERF_NETWORK_PARALLELISM or 30)
+      --no-install-crds=false
+            Do not install CRDs from "crds/" directories of installed charts 
(default               
+            $WERF_NO_INSTALL_CRDS)
   -p, --parallel=true
             Run in parallel (default $WERF_PARALLEL or true)
       --parallel-tasks-limit=5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/go.mod new/werf-2.36.0/go.mod
--- old/werf-2.35.10/go.mod     2025-05-07 12:17:30.000000000 +0200
+++ new/werf-2.36.0/go.mod      2025-05-16 11:12:53.000000000 +0200
@@ -58,7 +58,7 @@
        github.com/sirupsen/logrus v1.9.3
        github.com/spf13/cobra v1.8.0
        github.com/spf13/pflag v1.0.5
-       github.com/werf/3p-helm v0.0.0-20250423070931-cbf97ffb83ad
+       github.com/werf/3p-helm v0.0.0-20250513175502-6861d09b2363
        github.com/werf/3p-helm-for-werf-helm v0.0.0-20241217155820-089f92cd5c9d
        github.com/werf/common-go v0.0.0-20250417171011-97dbede6f27c
        github.com/werf/copy-recurse v0.2.7
@@ -66,7 +66,7 @@
        github.com/werf/kubedog-for-werf-helm v0.0.0-20241217155728-9d45c48b82b6
        github.com/werf/lockgate v0.1.1
        github.com/werf/logboek v0.6.1
-       github.com/werf/nelm v1.2.3-0.20250430144753-b81646bac089
+       github.com/werf/nelm v1.3.1-0.20250514090232-c96056e7f789
        github.com/werf/nelm-for-werf-helm v0.0.0-20241217155925-b0e6734d1dbf
        go.opentelemetry.io/otel v1.24.0
        go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/go.sum new/werf-2.36.0/go.sum
--- old/werf-2.35.10/go.sum     2025-05-07 12:17:30.000000000 +0200
+++ new/werf-2.36.0/go.sum      2025-05-16 11:12:53.000000000 +0200
@@ -1388,8 +1388,8 @@
 github.com/werf/3p-buildah v1.35.2-0.20241120093816-5b80b7b735de/go.mod 
h1:vVSVUlTu8+99H5j43gBJscpkb/quZvdJg78+6X1HeTM=
 github.com/werf/3p-docker-buildx v0.13.0-rc2.0.20241111114615-d77c2e1444ad 
h1:FBDNACfjjpDBwXhALF5LgvEiu08HpUurb/2G323SVsQ=
 github.com/werf/3p-docker-buildx 
v0.13.0-rc2.0.20241111114615-d77c2e1444ad/go.mod 
h1:Q3gtkv8D3sdaa5LJXbzMooYR/A5vBiEB2yQ56wywohM=
-github.com/werf/3p-helm v0.0.0-20250423070931-cbf97ffb83ad 
h1:UNOFSDUUCBNX0HSQPzVPySs7BP7KoqofdgszTOFIrrA=
-github.com/werf/3p-helm v0.0.0-20250423070931-cbf97ffb83ad/go.mod 
h1:bwpkc66otpnI2/K8fteIF/IkrHrq6jrAFW5ETHPNa00=
+github.com/werf/3p-helm v0.0.0-20250513175502-6861d09b2363 
h1:71f/6hHWMGpm4+nKCKGbpkVMOd2ePzY//qgSBkEQXsY=
+github.com/werf/3p-helm v0.0.0-20250513175502-6861d09b2363/go.mod 
h1:bwpkc66otpnI2/K8fteIF/IkrHrq6jrAFW5ETHPNa00=
 github.com/werf/3p-helm-for-werf-helm v0.0.0-20241217155820-089f92cd5c9d 
h1:HN9jmAG2Gyhf8hJca9yoAO2xawNZQ/6OYDomxkKr5Sw=
 github.com/werf/3p-helm-for-werf-helm 
v0.0.0-20241217155820-089f92cd5c9d/go.mod 
h1:fozJ+C/Llp1e+jHxrJOZUu+D4QEw+laQK6W6RFqvTsg=
 github.com/werf/3p-oras v0.9.1-0.20240115121544-03962ecbd40a 
h1:PsU9szHZlIH+CjcuIuPXRLc5dsdoaFldvYjS6YHI7YQ=
@@ -1406,8 +1406,8 @@
 github.com/werf/lockgate v0.1.1/go.mod 
h1:0yIFSLq9ausy6ejNxF5uUBf/Ib6daMAfXuCaTMZJzIE=
 github.com/werf/logboek v0.6.1 h1:oEe6FkmlKg0z0n80oZjLplj6sXcBeLleCkjfOOZEL2g=
 github.com/werf/logboek v0.6.1/go.mod 
h1:Gez5J4bxekyr6MxTmIJyId1F61rpO+0/V4vjCIEIZmk=
-github.com/werf/nelm v1.2.3-0.20250430144753-b81646bac089 
h1:qTNuFn/4h9XImxo34MbBXLPUBtXhCuwc69qQzzK4bGA=
-github.com/werf/nelm v1.2.3-0.20250430144753-b81646bac089/go.mod 
h1:9SR2Rfi0uE06z5bbnFRqfZTePNGnbyw9RLOVyYuV+cg=
+github.com/werf/nelm v1.3.1-0.20250514090232-c96056e7f789 
h1:Lq9A/LFGmIxh0MRs+9PgD6C9GK3ofDoP7i6ijb5pI84=
+github.com/werf/nelm v1.3.1-0.20250514090232-c96056e7f789/go.mod 
h1:xEkU7QBPkPqecrymb9mKTjTlibU9cawc8VbDFQbvUJ0=
 github.com/werf/nelm-for-werf-helm v0.0.0-20241217155925-b0e6734d1dbf 
h1:K51qz209c1yJgKzPw8AeS72T21F/ACp0VI3RJvT4THA=
 github.com/werf/nelm-for-werf-helm v0.0.0-20241217155925-b0e6734d1dbf/go.mod 
h1:7RJXSGPKKPEvfPqrTwNA8jT7y52O0ebwhSbSn29ESMA=
 github.com/xanzy/go-gitlab v0.31.0/go.mod 
h1:sPLojNBn68fMUWSxIJtdVVIP8uSBYqesTfDUseX11Ug=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/pkg/build/build_phase.go 
new/werf-2.36.0/pkg/build/build_phase.go
--- old/werf-2.35.10/pkg/build/build_phase.go   2025-05-07 12:17:30.000000000 
+0200
+++ new/werf-2.36.0/pkg/build/build_phase.go    2025-05-16 11:12:53.000000000 
+0200
@@ -265,12 +265,12 @@
                                }
                        }
                } else {
-                       img := image.NewMultiplatformImage(name, images)
+                       img := image.NewMultiplatformImage(name, images, 
taskId, len(images))
                        phase.Conveyor.imagesTree.SetMultiplatformImage(img)
 
                        // TODO: Separate LocalStagesStorage and 
RepoStagesStorage interfaces, local should not include metadata publishing 
methods at all
                        if _, isLocal := 
phase.Conveyor.StorageManager.GetStagesStorage().(*storage.LocalStagesStorage); 
!isLocal {
-                               if err := 
logboek.Context(ctx).LogProcess(logging.ImageLogProcessName(name, img.IsFinal, 
"")).
+                               if err := 
logboek.Context(ctx).LogProcess(img.LogDetailedName()).
                                        Options(func(options 
types.LogProcessOptionsInterface) {
                                                
options.Style(logging.ImageMetadataStyle())
                                        }).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/pkg/build/image/image.go 
new/werf-2.36.0/pkg/build/image/image.go
--- old/werf-2.35.10/pkg/build/image/image.go   2025-05-07 12:17:30.000000000 
+0200
+++ new/werf-2.36.0/pkg/build/image/image.go    2025-05-16 11:12:53.000000000 
+0200
@@ -115,6 +115,9 @@
 
        baseStageImage   *stage.StageImage
        stageAsBaseImage stage.Interface
+
+       logImageIndex  int
+       logTotalImages int
 }
 
 func (i *Image) LogName() string {
@@ -130,7 +133,7 @@
        if i.ShouldLogPlatform() {
                targetPlatformForLog = i.TargetPlatform
        }
-       return logging.ImageLogProcessName(i.Name, i.IsFinal, 
targetPlatformForLog)
+       return logging.ImageLogProcessName(i.Name, i.IsFinal, 
targetPlatformForLog, logging.WithProgress(i.logImageIndex+1, i.logTotalImages))
 }
 
 func (i *Image) LogProcessStyle() color.Style {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/pkg/build/image/image_tree.go 
new/werf-2.36.0/pkg/build/image/image_tree.go
--- old/werf-2.35.10/pkg/build/image/image_tree.go      2025-05-07 
12:17:30.000000000 +0200
+++ new/werf-2.36.0/pkg/build/image/image_tree.go       2025-05-16 
11:12:53.000000000 +0200
@@ -126,6 +126,11 @@
        tree.imagesSets = builder.GetImagesSets()
        tree.images = builder.GetImages()
 
+       for ind, img := range tree.images {
+               img.logImageIndex = ind
+               img.logTotalImages = len(tree.images)
+       }
+
        return nil
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/pkg/build/image/multiplatform_image.go 
new/werf-2.36.0/pkg/build/image/multiplatform_image.go
--- old/werf-2.35.10/pkg/build/image/multiplatform_image.go     2025-05-07 
12:17:30.000000000 +0200
+++ new/werf-2.36.0/pkg/build/image/multiplatform_image.go      2025-05-16 
11:12:53.000000000 +0200
@@ -4,6 +4,7 @@
        "github.com/werf/common-go/pkg/util"
        "github.com/werf/werf/v2/pkg/image"
        common_image "github.com/werf/werf/v2/pkg/image"
+       "github.com/werf/werf/v2/pkg/logging"
 )
 
 type MultiplatformImage struct {
@@ -15,17 +16,22 @@
        stageID          common_image.StageID
        stageDesc        *common_image.StageDesc
        finalStageDesc   *common_image.StageDesc
+
+       logImageIndex int
+       logImageTotal int
 }
 
-func NewMultiplatformImage(name string, images []*Image) *MultiplatformImage {
+func NewMultiplatformImage(name string, images []*Image, logImageIndex, 
logImageTotal int) *MultiplatformImage {
        if len(images) == 0 {
                panic("expected at least one image")
        }
 
        img := &MultiplatformImage{
-               Name:    name,
-               IsFinal: images[0].IsFinal,
-               Images:  images,
+               Name:          name,
+               IsFinal:       images[0].IsFinal,
+               Images:        images,
+               logImageIndex: logImageIndex,
+               logImageTotal: logImageTotal,
        }
 
        metaStageDeps := util.MapFuncToSlice(images, func(img *Image) string {
@@ -72,3 +78,7 @@
 func (img *MultiplatformImage) SetStageDesc(stageDesc *common_image.StageDesc) 
{
        img.stageDesc = stageDesc
 }
+
+func (img *MultiplatformImage) LogDetailedName() string {
+       return logging.ImageLogProcessName(img.Name, img.IsFinal, "", 
logging.WithProgress(img.logImageIndex+1, img.logImageTotal))
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/pkg/cleaning/cleanup.go 
new/werf-2.36.0/pkg/cleaning/cleanup.go
--- old/werf-2.35.10/pkg/cleaning/cleanup.go    2025-05-07 12:17:30.000000000 
+0200
+++ new/werf-2.36.0/pkg/cleaning/cleanup.go     2025-05-16 11:12:53.000000000 
+0200
@@ -396,7 +396,9 @@
                var reachedStageIDs []string
                var hitStageIDCommitList map[string][]string
                // TODO(multiarch): iterate target platforms
-               if err := 
logboek.Context(ctx).LogProcess(logging.ImageLogProcessName(imageName, false, 
"")).DoError(func() error {
+
+               header := logging.ImageLogProcessName(imageName, false, "", 
logging.WithProgress(taskId+1, len(imagePairs)))
+               if err := 
logboek.Context(ctx).LogProcess(header).DoError(func() error {
                        if logboek.Context(ctx).Streams().Width() > 120 {
                                m.printStageIDCommitListTable(ctx, imageName)
                                m.printStageIDCustomTagListTable(ctx)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/pkg/logging/image.go 
new/werf-2.36.0/pkg/logging/image.go
--- old/werf-2.35.10/pkg/logging/image.go       2025-05-07 12:17:30.000000000 
+0200
+++ new/werf-2.36.0/pkg/logging/image.go        2025-05-16 11:12:53.000000000 
+0200
@@ -7,8 +7,8 @@
 )
 
 var (
-       finalImageNameFormat        = "🛳️  image %s"
-       intermediateImageNameFormat = "🏗️️  image %s"
+       finalImagePrettyPrefix        = "🛳️  "
+       intermediateImagePrettyPrefix = "🏗️️  "
 )
 
 func ImageLogName(name string) string {
@@ -18,26 +18,51 @@
        return name
 }
 
-func ImageLogProcessName(name string, isFinal bool, targetPlatform string) 
string {
-       appendPlatformFunc := func(name string) string {
-               if targetPlatform == "" {
-                       return name
-               }
-               return fmt.Sprintf("%s [%s]", name, targetPlatform)
+func WithProgress(index, total int) Option {
+       return func(o *Options) {
+               o.withProgress = true
+               o.index = index
+               o.total = total
+       }
+}
+
+type Options struct {
+       withProgress bool
+       index        int
+       total        int
+}
+
+type Option func(*Options)
+
+func ImageLogProcessName(name string, isFinal bool, targetPlatform string, 
opts ...Option) string {
+       options := &Options{}
+       for _, opt := range opts {
+               opt(options)
        }
 
-       logName := ImageLogName(name)
+       var res string
+       res += "image" + " " + ImageLogName(name)
+
+       if targetPlatform != "" {
+               res += " [" + targetPlatform + "]"
+       }
+
+       if options.withProgress {
+               res = fmt.Sprintf("(%d/%d)", options.index, options.total) + " 
" + res
+       }
 
        if isFinal {
-               return appendPlatformFunc(fmt.Sprintf(finalImageNameFormat, 
logName))
+               res = finalImagePrettyPrefix + res
        } else {
-               return 
appendPlatformFunc(fmt.Sprintf(intermediateImageNameFormat, logName))
+               res = intermediateImagePrettyPrefix + res
        }
+
+       return res
 }
 
 func DisablePrettyLog() {
-       finalImageNameFormat = "image %s"
-       intermediateImageNameFormat = "image %s"
+       finalImagePrettyPrefix = ""
+       intermediateImagePrettyPrefix = ""
 }
 
 func ImageDefaultStyle(isFinal bool) color.Style {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/pkg/logging/logger.go 
new/werf-2.36.0/pkg/logging/logger.go
--- old/werf-2.35.10/pkg/logging/logger.go      2025-05-07 12:17:30.000000000 
+0200
+++ new/werf-2.36.0/pkg/logging/logger.go       2025-05-16 11:12:53.000000000 
+0200
@@ -5,6 +5,7 @@
        "io"
        "log"
 
+       "github.com/gookit/color"
        "github.com/sirupsen/logrus"
 
        "github.com/werf/logboek"
@@ -19,6 +20,7 @@
 // NewLogger returns new logger for any (foreground or background) mode.
 func NewLogger() types.LoggerInterface {
        logger := logboek.DefaultLogger()
+       logger.Warn().SetStyle(color.New(color.Yellow))
 
        captureOutputFromAnotherLoggers(logger.OutStream())
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/pkg/true_git/common.go 
new/werf-2.36.0/pkg/true_git/common.go
--- old/werf-2.35.10/pkg/true_git/common.go     2025-05-07 12:17:30.000000000 
+0200
+++ new/werf-2.36.0/pkg/true_git/common.go      2025-05-16 11:12:53.000000000 
+0200
@@ -5,7 +5,7 @@
 )
 
 func getCommonGitOptions() []string {
-       return []string{"-c", "core.autocrlf=false", "-c", "gc.auto=0", "-c", 
"commit.gpgsign=false"}
+       return []string{"-c", "core.autocrlf=false", "-c", "gc.auto=0", "-c", 
"commit.gpgsign=false", "-c", "core.untrackedCache=false", "-c", 
"core.splitIndex=false"}
 }
 
 func debug() bool {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/werf-2.35.10/trdl_channels.yaml 
new/werf-2.36.0/trdl_channels.yaml
--- old/werf-2.35.10/trdl_channels.yaml 2025-05-07 12:17:30.000000000 +0200
+++ new/werf-2.36.0/trdl_channels.yaml  2025-05-16 11:12:53.000000000 +0200
@@ -38,11 +38,11 @@
   - name: "2"
     channels:
       - name: alpha
-        version: 2.35.9
+        version: 2.35.10
       - name: beta
-        version: 2.35.1
+        version: 2.35.10
       - name: ea
-        version: 2.35.1
+        version: 2.35.10
       - name: stable
         version: 2.31.1
       - name: rock-solid

++++++ werf.obsinfo ++++++
--- /var/tmp/diff_new_pack.sIPZLk/_old  2025-05-20 09:37:17.099243323 +0200
+++ /var/tmp/diff_new_pack.sIPZLk/_new  2025-05-20 09:37:17.103243498 +0200
@@ -1,5 +1,5 @@
 name: werf
-version: 2.35.10
-mtime: 1746613050
-commit: 921d27891ceac165f6ee26273eb2505d218242cf
+version: 2.36.0
+mtime: 1747386773
+commit: 426238e66c9d60fb6e5a3a9e64761202e356c647
 

Reply via email to