Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nelm for openSUSE:Factory checked in at 2026-07-21 23:11:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nelm (Old) and /work/SRC/openSUSE:Factory/.nelm.new.24530 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nelm" Tue Jul 21 23:11:48 2026 rev:32 rq:1366950 version:1.25.3 Changes: -------- --- /work/SRC/openSUSE:Factory/nelm/nelm.changes 2026-07-17 01:45:02.428403830 +0200 +++ /work/SRC/openSUSE:Factory/.nelm.new.24530/nelm.changes 2026-07-21 23:11:52.609326299 +0200 @@ -1,0 +2,14 @@ +Tue Jul 21 12:12:29 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 1.25.3: + * Bug Fixes + - HelmCompatibleTracking mode should allow annotations override + (6c7e6f4) +- Update to version 1.25.2: + * Bug Fixes + - increase default webhook retry timeout (594eb86) +- Update to version 1.25.1: + * Bug Fixes + - match more webhook errors to retry on them (6f90689) + +------------------------------------------------------------------- Old: ---- nelm-1.25.0.obscpio New: ---- nelm-1.25.3.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nelm.spec ++++++ --- /var/tmp/diff_new_pack.dK1n0F/_old 2026-07-21 23:11:55.025408915 +0200 +++ /var/tmp/diff_new_pack.dK1n0F/_new 2026-07-21 23:11:55.029409052 +0200 @@ -17,7 +17,7 @@ Name: nelm -Version: 1.25.0 +Version: 1.25.3 Release: 0 Summary: Helm 3 alternative License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.dK1n0F/_old 2026-07-21 23:11:55.065410283 +0200 +++ /var/tmp/diff_new_pack.dK1n0F/_new 2026-07-21 23:11:55.073410557 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/werf/nelm.git</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">refs/tags/v1.25.0</param> + <param name="revision">refs/tags/v1.25.3</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.dK1n0F/_old 2026-07-21 23:11:55.097411378 +0200 +++ /var/tmp/diff_new_pack.dK1n0F/_new 2026-07-21 23:11:55.101411515 +0200 @@ -3,6 +3,6 @@ <param name="url">https://github.com/werf/nelm</param> <param name="changesrevision">9366af9135202b7d705c71fef6c7dbe0231c0345</param></service><service name="tar_scm"> <param name="url">https://github.com/werf/nelm.git</param> - <param name="changesrevision">6c9bf7ee20e927cc031abedda4dbe1949e5f5af8</param></service></servicedata> + <param name="changesrevision">5d3d03cb0b97bdb6df7a5b22320bfbf53edafdb4</param></service></servicedata> (No newline at EOF) ++++++ nelm-1.25.0.obscpio -> nelm-1.25.3.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nelm-1.25.0/CHANGELOG.md new/nelm-1.25.3/CHANGELOG.md --- old/nelm-1.25.0/CHANGELOG.md 2026-06-18 11:27:01.000000000 +0200 +++ new/nelm-1.25.3/CHANGELOG.md 2026-06-24 21:01:58.000000000 +0200 @@ -1,5 +1,26 @@ # Changelog +## [1.25.3](https://github.com/werf/nelm/compare/v1.25.2...v1.25.3) (2026-06-24) + + +### Bug Fixes + +* HelmCompatibleTracking mode should allow annotations override ([6c7e6f4](https://github.com/werf/nelm/commit/6c7e6f429c37126160f0bb657904966ef4bef618)) + +## [1.25.2](https://github.com/werf/nelm/compare/v1.25.1...v1.25.2) (2026-06-23) + + +### Bug Fixes + +* increase default webhook retry timeout ([594eb86](https://github.com/werf/nelm/commit/594eb8622a7f7408d18d4618128d014e6110ed93)) + +## [1.25.1](https://github.com/werf/nelm/compare/v1.25.0...v1.25.1) (2026-06-23) + + +### Bug Fixes + +* match more webhook errors to retry on them ([6f90689](https://github.com/werf/nelm/commit/6f9068971c32c9ed44d882e61405c935f73270a3)) + ## [1.25.0](https://github.com/werf/nelm/compare/v1.24.3...v1.25.0) (2026-06-18) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nelm-1.25.0/pkg/common/common.go new/nelm-1.25.3/pkg/common/common.go --- old/nelm-1.25.0/pkg/common/common.go 2026-06-18 11:27:01.000000000 +0200 +++ new/nelm-1.25.3/pkg/common/common.go 2026-06-24 21:01:58.000000000 +0200 @@ -107,7 +107,7 @@ DefaultReleaseHistoryLimit = 10 // DefaultResourceValidationKubeVersion Kubernetes version to use during resource validation by kubeconform DefaultResourceValidationKubeVersion = "1.35.0" - DefaultWebhookRetryTimeout = 2 * time.Minute + DefaultWebhookRetryTimeout = 4 * time.Minute KubectlEditFieldManager = "kubectl-edit" OldFieldManagerPrefix = "werf" OutputFormatJSON = "json" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nelm-1.25.0/pkg/kube/error.go new/nelm-1.25.3/pkg/kube/error.go --- old/nelm-1.25.0/pkg/kube/error.go 2026-06-18 11:27:01.000000000 +0200 +++ new/nelm-1.25.3/pkg/kube/error.go 2026-06-24 21:01:58.000000000 +0200 @@ -22,6 +22,6 @@ func IsWebhookErr(err error) bool { return err != nil && - (strings.Contains(err.Error(), "Internal error occurred: failed calling webhook") || - strings.Contains(err.Error(), "Internal error occurred: conversion webhook for")) + (strings.Contains(err.Error(), "failed calling webhook") || + strings.Contains(err.Error(), "conversion webhook for")) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nelm-1.25.0/pkg/resource/spec/patch.go new/nelm-1.25.3/pkg/resource/spec/patch.go --- old/nelm-1.25.0/pkg/resource/spec/patch.go 2026-06-18 11:27:01.000000000 +0200 +++ new/nelm-1.25.3/pkg/resource/spec/patch.go 2026-06-24 21:01:58.000000000 +0200 @@ -126,9 +126,16 @@ } func (p *LegacyOnlyTrackJobsPatcher) Patch(ctx context.Context, info *ResourcePatcherResourceInfo) (*unstructured.Unstructured, error) { + existing := info.Obj.GetAnnotations() + annos := map[string]string{} - annos["werf.io/fail-mode"] = string(multitrack.IgnoreAndContinueDeployProcess) - annos["werf.io/track-termination-mode"] = string(multitrack.NonBlocking) + if !lo.HasKey(existing, common.AnnotationKeyHumanFailMode) { + annos[common.AnnotationKeyHumanFailMode] = string(multitrack.IgnoreAndContinueDeployProcess) + } + + if !lo.HasKey(existing, common.AnnotationKeyHumanTrackTerminationMode) { + annos[common.AnnotationKeyHumanTrackTerminationMode] = string(multitrack.NonBlocking) + } setAnnotationsAndLabels(info.Obj, annos, nil) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nelm-1.25.0/pkg/resource/spec/patch_ai_test.go new/nelm-1.25.3/pkg/resource/spec/patch_ai_test.go --- old/nelm-1.25.0/pkg/resource/spec/patch_ai_test.go 1970-01-01 01:00:00.000000000 +0100 +++ new/nelm-1.25.3/pkg/resource/spec/patch_ai_test.go 2026-06-24 21:01:58.000000000 +0200 @@ -0,0 +1,101 @@ +//go:build ai_tests + +package spec_test + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + + "github.com/werf/kubedog/pkg/trackers/rollout/multitrack" + "github.com/werf/nelm/pkg/common" + "github.com/werf/nelm/pkg/resource/spec" +) + +func TestAI_LegacyOnlyTrackJobsPatcher_Patch(t *testing.T) { + defaultFailMode := string(multitrack.IgnoreAndContinueDeployProcess) + defaultTrackTermination := string(multitrack.NonBlocking) + + tests := []struct { + name string + input map[string]string + expected map[string]string + }{ + { + name: "injects both defaults when neither key is set", + input: nil, + expected: map[string]string{ + common.AnnotationKeyHumanFailMode: defaultFailMode, + common.AnnotationKeyHumanTrackTerminationMode: defaultTrackTermination, + }, + }, + { + name: "preserves both user-set values", + input: map[string]string{ + common.AnnotationKeyHumanFailMode: string(multitrack.FailWholeDeployProcessImmediately), + common.AnnotationKeyHumanTrackTerminationMode: string(multitrack.WaitUntilResourceReady), + }, + expected: map[string]string{ + common.AnnotationKeyHumanFailMode: string(multitrack.FailWholeDeployProcessImmediately), + common.AnnotationKeyHumanTrackTerminationMode: string(multitrack.WaitUntilResourceReady), + }, + }, + { + name: "preserves fail-mode override and injects track-termination default", + input: map[string]string{ + common.AnnotationKeyHumanFailMode: string(multitrack.FailWholeDeployProcessImmediately), + }, + expected: map[string]string{ + common.AnnotationKeyHumanFailMode: string(multitrack.FailWholeDeployProcessImmediately), + common.AnnotationKeyHumanTrackTerminationMode: defaultTrackTermination, + }, + }, + { + name: "preserves track-termination override and injects fail-mode default", + input: map[string]string{ + common.AnnotationKeyHumanTrackTerminationMode: string(multitrack.WaitUntilResourceReady), + }, + expected: map[string]string{ + common.AnnotationKeyHumanFailMode: defaultFailMode, + common.AnnotationKeyHumanTrackTerminationMode: string(multitrack.WaitUntilResourceReady), + }, + }, + { + name: "treats empty values as user overrides", + input: map[string]string{ + common.AnnotationKeyHumanFailMode: "", + common.AnnotationKeyHumanTrackTerminationMode: "", + }, + expected: map[string]string{ + common.AnnotationKeyHumanFailMode: "", + common.AnnotationKeyHumanTrackTerminationMode: "", + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + obj := &unstructured.Unstructured{Object: map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMap", + "metadata": map[string]interface{}{ + "name": "test", + }, + }} + if tt.input != nil { + obj.SetAnnotations(tt.input) + } + + patcher := spec.NewLegacyOnlyTrackJobsPatcher() + + out, err := patcher.Patch(context.Background(), &spec.ResourcePatcherResourceInfo{Obj: obj}) + require.NoError(t, err) + + annos := out.GetAnnotations() + require.Equal(t, tt.expected[common.AnnotationKeyHumanFailMode], annos[common.AnnotationKeyHumanFailMode]) + require.Equal(t, tt.expected[common.AnnotationKeyHumanTrackTerminationMode], annos[common.AnnotationKeyHumanTrackTerminationMode]) + }) + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nelm-1.25.0/trdl_channels.yaml new/nelm-1.25.3/trdl_channels.yaml --- old/nelm-1.25.0/trdl_channels.yaml 2026-06-18 11:27:01.000000000 +0200 +++ new/nelm-1.25.3/trdl_channels.yaml 2026-06-24 21:01:58.000000000 +0200 @@ -2,12 +2,12 @@ - name: "1" channels: - name: alpha - version: 1.24.3 + version: 1.25.2 - name: beta - version: 1.24.1 + version: 1.25.0 - name: ea - version: 1.24.0 + version: 1.24.3 - name: stable - version: 1.23.2 + version: 1.24.1 - name: rock-solid - version: 1.22.0 + version: 1.24.0 ++++++ nelm.obsinfo ++++++ --- /var/tmp/diff_new_pack.dK1n0F/_old 2026-07-21 23:11:56.429456926 +0200 +++ /var/tmp/diff_new_pack.dK1n0F/_new 2026-07-21 23:11:56.441457337 +0200 @@ -1,5 +1,5 @@ name: nelm -version: 1.25.0 -mtime: 1781774821 -commit: 6c9bf7ee20e927cc031abedda4dbe1949e5f5af8 +version: 1.25.3 +mtime: 1782327718 +commit: 5d3d03cb0b97bdb6df7a5b22320bfbf53edafdb4 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/nelm/vendor.tar.gz /work/SRC/openSUSE:Factory/.nelm.new.24530/vendor.tar.gz differ: char 90, line 2
