Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package chart-testing for openSUSE:Factory 
checked in at 2026-10-07 19:33:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chart-testing (Old)
 and      /work/SRC/openSUSE:Factory/.chart-testing.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "chart-testing"

Wed Oct  7 19:33:46 2026 rev:14 rq:1382918 version:3.15.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/chart-testing/chart-testing.changes      
2025-10-09 15:08:30.435695965 +0200
+++ /work/SRC/openSUSE:Factory/.chart-testing.new.3698736/chart-testing.changes 
2026-10-07 19:34:13.598704279 +0200
@@ -1,0 +2,41 @@
+Wed Oct 07 05:17:48 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 3.15.0:
+  * build(deps): Bump helm.sh/helm/v3 from 3.18.6 to 3.19.2 in #785
+  * build(deps): Bump alpine from 3.22 to 3.23 in the docker group
+    in #794
+  * build(deps): Bump github.com/spf13/cobra from 1.10.1 to 1.10.2
+    in the gomod group in #792
+  * build(deps): Bump golangci/golangci-lint-action from 8.0.0 to
+    9.2.0 in #798
+  * build(deps): Bump helm.sh/helm/v3 from 3.19.2 to 3.19.4 in the
+    gomod group in #795
+  * build(deps): Bump helm.sh/helm/v3 from 3.19.4 to 3.19.5 in the
+    gomod group in #803
+  * build(deps): Bump helm.sh/helm/v3 from 3.19.5 to 3.20.1 in #823
+  * build(deps): Bump docker/setup-qemu-action from 3.7.0 to 4.0.0
+    in #820
+  * build(deps): Bump docker/login-action from 3.7.0 to 4.0.0 in
+    #821
+  * build(deps): Bump docker/setup-buildx-action from 3.12.0 to
+    4.0.0 in #818
+  * build(deps): Bump goreleaser/goreleaser-action from 6.4.0 to
+    7.0.0 in #822
+  * build(deps): Bump the gomod group with 2 updates in #830
+  * build(deps): Bump azure/setup-helm from 4.3.1 to 5.0.0 in #825
+  * chore: bump to Go 1.26, harden release workflow, tidy code in
+    #835
+  * build(deps): Bump helm.sh/helm/v3 from 3.20.2 to 3.21.0 in #836
+  * build(deps): Bump github.com/mattn/go-shellwords from 1.0.13 to
+    1.0.14 in the gomod group across 1 directory in #860
+  * build(deps): Bump alpine from 3.23 to 3.24 in the docker group
+    across 1 directory in #843
+  * fix: honor --release-name instead of generating a random
+    release name in #841
+  * build(deps): Bump helm.sh/helm/v3 from 3.21.0 to 3.22.0 in #864
+  * build(deps): Bump github.com/mattn/go-shellwords from 1.0.14 to
+    1.0.15 in the gomod group in #862
+  * build(deps): Bump github.com/mattn/go-shellwords from 1.0.15 to
+    1.0.16 in the gomod group in #866
+
+-------------------------------------------------------------------

Old:
----
  chart-testing-3.14.0.obscpio

New:
----
  chart-testing-3.15.0.obscpio

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

Other differences:
------------------
++++++ chart-testing.spec ++++++
--- /var/tmp/diff_new_pack.zWYAWb/_old  2026-10-07 19:34:15.197771616 +0200
+++ /var/tmp/diff_new_pack.zWYAWb/_new  2026-10-07 19:34:15.200771743 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package chart-testing
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %define name_of_binary ct
 
 Name:           chart-testing
-Version:        3.14.0
+Version:        3.15.0
 Release:        0
 Summary:        CLI tool for linting and testing Helm charts
 Group:          Development/Languages/Other

++++++ _service ++++++
--- /var/tmp/diff_new_pack.zWYAWb/_old  2026-10-07 19:34:15.283775238 +0200
+++ /var/tmp/diff_new_pack.zWYAWb/_new  2026-10-07 19:34:15.294775701 +0200
@@ -1,9 +1,9 @@
 <services>
   <service name="obs_scm" mode="manual">
-    <param name="url">https://github.com/helm/chart-testing</param>
+    <param name="url">https://github.com/helm/chart-testing.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v3.14.0</param>
+    <param name="revision">refs/tags/v3.15.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.zWYAWb/_old  2026-10-07 19:34:15.351778101 +0200
+++ /var/tmp/diff_new_pack.zWYAWb/_new  2026-10-07 19:34:15.361778523 +0200
@@ -1,6 +1,8 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/helm/chart-testing</param>
-              <param 
name="changesrevision">2651b49048950c5473b1f533c900d17614bc6aa0</param></service></servicedata>
+              <param 
name="changesrevision">2651b49048950c5473b1f533c900d17614bc6aa0</param></service><service
 name="tar_scm">
+                <param 
name="url">https://github.com/helm/chart-testing.git</param>
+              <param 
name="changesrevision">c65afcebd6649d48179fc8b30db34fa9b1459cce</param></service></servicedata>
 (No newline at EOF)
 

++++++ chart-testing-3.14.0.obscpio -> chart-testing-3.15.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/.goreleaser.yml 
new/chart-testing-3.15.0/.goreleaser.yml
--- old/chart-testing-3.14.0/.goreleaser.yml    2025-10-08 16:10:04.000000000 
+0200
+++ new/chart-testing-3.15.0/.goreleaser.yml    2026-10-06 10:27:25.000000000 
+0200
@@ -58,7 +58,7 @@
       - "quay.io/helmpack/chart-testing"
     tags:
       - "{{ .Tag }}"
-      - "latest"
+      - "{{ if not .Prerelease }}latest{{ end }}"
     labels:
       "org.opencontainers.image.version": "{{ .Version }}"
       "org.opencontainers.image.revision": "{{ .Commit }}"
@@ -75,16 +75,18 @@
 
 signs:
   - id: all
-    signature: "${artifact}.sig"
-    certificate: "${artifact}.pem"
+    signature: "${artifact}.sigstore.json"
     cmd: cosign
-    args: ["sign-blob", "--output-signature", "${artifact}.sig", 
"--output-certificate", "${artifact}.pem", "${artifact}"]
+    args: ["sign-blob", "--bundle=${signature}", "${artifact}", "--yes"]
     artifacts: all
 
 docker_signs:
   - id: images
     cmd: cosign
-    args: ["sign", "${artifact}"]
+    args: ["sign", "${artifact}@${digest}", "--yes"]
+
+release:
+  prerelease: auto
 
 changelog:
   use: github-native
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/Dockerfile 
new/chart-testing-3.15.0/Dockerfile
--- old/chart-testing-3.14.0/Dockerfile 2025-10-08 16:10:04.000000000 +0200
+++ new/chart-testing-3.15.0/Dockerfile 2026-10-06 10:27:25.000000000 +0200
@@ -1,4 +1,4 @@
-FROM alpine:3.22
+FROM alpine:3.24
 
 RUN apk --no-cache add \
     bash \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/e2e-kind.sh 
new/chart-testing-3.15.0/e2e-kind.sh
--- old/chart-testing-3.14.0/e2e-kind.sh        2025-10-08 16:10:04.000000000 
+0200
+++ new/chart-testing-3.15.0/e2e-kind.sh        2026-10-06 10:27:25.000000000 
+0200
@@ -7,11 +7,11 @@
 CLUSTER_NAME=chart-testing
 readonly CLUSTER_NAME
 
-K8S_VERSION=v1.22.9
+K8S_VERSION=v1.37.0@sha256:a1ed56cfb0e7b93589bdf97c8cd566405a265939e3620fc4f5de89adff580ae5
 readonly K8S_VERSION
 
 create_kind_cluster() {
-    kind create cluster --name "$CLUSTER_NAME" --image 
"kindest/node:$K8S_VERSION" --wait 60s
+    kind create cluster --name "${CLUSTER_NAME}" --image 
"kindest/node:${K8S_VERSION}" --wait 60s
 
     kubectl cluster-info || kubectl cluster-info dump
     echo
@@ -29,7 +29,7 @@
 }
 
 cleanup() {
-    kind delete cluster --name "$CLUSTER_NAME"
+    kind delete cluster --name "${CLUSTER_NAME}"
     echo 'Done!'
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/go.mod 
new/chart-testing-3.15.0/go.mod
--- old/chart-testing-3.14.0/go.mod     2025-10-08 16:10:04.000000000 +0200
+++ new/chart-testing-3.15.0/go.mod     2026-10-06 10:27:25.000000000 +0200
@@ -1,25 +1,24 @@
 module github.com/helm/chart-testing/v3
 
-go 1.24.0
+go 1.27
 
 require (
        github.com/MakeNowJust/heredoc v1.0.0
        github.com/Masterminds/semver v1.5.0
        github.com/hashicorp/go-multierror v1.1.1
        github.com/hashicorp/go-retryablehttp v0.7.8
-       github.com/mattn/go-shellwords v1.0.12
+       github.com/mattn/go-shellwords v1.0.16
        github.com/mitchellh/go-homedir v1.1.0
-       github.com/spf13/cobra v1.10.1
+       github.com/spf13/cobra v1.10.2
        github.com/spf13/pflag v1.0.10
        github.com/spf13/viper v1.21.0
-       github.com/stretchr/testify v1.11.1
+       github.com/stretchr/testify v1.12.1
        gopkg.in/yaml.v2 v2.4.0
-       helm.sh/helm/v3 v3.18.6
+       helm.sh/helm/v3 v3.22.0
 )
 
 require (
        github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
-       github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // 
indirect
        github.com/fsnotify/fsnotify v1.9.0 // indirect
        github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
        github.com/hashicorp/errwrap v1.1.0 // indirect
@@ -27,17 +26,15 @@
        github.com/inconshreveable/mousetrap v1.1.0 // indirect
        github.com/pelletier/go-toml/v2 v2.2.4 // indirect
        github.com/pkg/errors v0.9.1 // indirect
-       github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // 
indirect
        github.com/russross/blackfriday/v2 v2.1.0 // indirect
        github.com/sagikazarmark/locafero v0.11.0 // indirect
        github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // 
indirect
        github.com/spf13/afero v1.15.0 // indirect
        github.com/spf13/cast v1.10.0 // indirect
-       github.com/stretchr/objx v0.5.2 // indirect
+       github.com/stretchr/objx v0.5.3 // indirect
        github.com/subosito/gotenv v1.6.0 // indirect
-       go.yaml.in/yaml/v3 v3.0.4 // indirect
-       golang.org/x/sys v0.34.0 // indirect
-       golang.org/x/text v0.28.0 // indirect
+       go.yaml.in/yaml/v3 v3.0.5 // indirect
+       golang.org/x/sys v0.47.0 // indirect
+       golang.org/x/text v0.41.0 // indirect
        gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
-       gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/go.sum 
new/chart-testing-3.15.0/go.sum
--- old/chart-testing-3.14.0/go.sum     2025-10-08 16:10:04.000000000 +0200
+++ new/chart-testing-3.15.0/go.sum     2026-10-06 10:27:25.000000000 +0200
@@ -4,8 +4,6 @@
 github.com/Masterminds/semver v1.5.0/go.mod 
h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
 github.com/cpuguy83/go-md2man/v2 v2.0.6 
h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
 github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod 
h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
-github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc 
h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
-github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
 github.com/fatih/color v1.16.0/go.mod 
h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
 github.com/frankban/quicktest v1.14.6 
h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
@@ -14,8 +12,8 @@
 github.com/fsnotify/fsnotify v1.9.0/go.mod 
h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
 github.com/go-viper/mapstructure/v2 v2.4.0 
h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
 github.com/go-viper/mapstructure/v2 v2.4.0/go.mod 
h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
-github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
-github.com/google/go-cmp v0.7.0/go.mod 
h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
+github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
+github.com/google/go-cmp v0.6.0/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/hashicorp/errwrap v1.0.0/go.mod 
h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/errwrap v1.1.0 
h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod 
h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -40,16 +38,14 @@
 github.com/mattn/go-colorable v0.1.13/go.mod 
h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
 github.com/mattn/go-isatty v0.0.20 
h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
 github.com/mattn/go-isatty v0.0.20/go.mod 
h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/mattn/go-shellwords v1.0.12 
h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk=
-github.com/mattn/go-shellwords v1.0.12/go.mod 
h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y=
+github.com/mattn/go-shellwords v1.0.16 
h1:RRxAaRzU1YbzOSCj9NJqg2/VIbSWv0dnPoD3EwE8kxI=
+github.com/mattn/go-shellwords v1.0.16/go.mod 
h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y=
 github.com/mitchellh/go-homedir v1.1.0 
h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
 github.com/mitchellh/go-homedir v1.1.0/go.mod 
h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
 github.com/pelletier/go-toml/v2 v2.2.4 
h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
 github.com/pelletier/go-toml/v2 v2.2.4/go.mod 
h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod 
h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 
h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
-github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/rogpeppe/go-internal v1.9.0 
h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
 github.com/rogpeppe/go-internal v1.9.0/go.mod 
h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
 github.com/russross/blackfriday/v2 v2.1.0 
h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
@@ -62,31 +58,30 @@
 github.com/spf13/afero v1.15.0/go.mod 
h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg=
 github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY=
 github.com/spf13/cast v1.10.0/go.mod 
h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo=
-github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
-github.com/spf13/cobra v1.10.1/go.mod 
h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
+github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU=
+github.com/spf13/cobra v1.10.2/go.mod 
h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4=
 github.com/spf13/pflag v1.0.9/go.mod 
h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
 github.com/spf13/pflag v1.0.10/go.mod 
h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU=
 github.com/spf13/viper v1.21.0/go.mod 
h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY=
-github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
-github.com/stretchr/objx v0.5.2/go.mod 
h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
-github.com/stretchr/testify v1.11.1 
h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
-github.com/stretchr/testify v1.11.1/go.mod 
h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
+github.com/stretchr/objx v0.5.3 h1:jmXUvGomnU1o3W/V5h2VEradbpJDwGrzugQQvL0POH4=
+github.com/stretchr/objx v0.5.3/go.mod 
h1:rDQraq+vQZU7Fde9LOZLr8Tax6zZvy4kuNKF+QYS+U0=
+github.com/stretchr/testify v1.12.1 
h1:EuwCh5fleGS7H32xRwO3wRGT7DxrDhLAT6FF8MpWDWE=
+github.com/stretchr/testify v1.12.1/go.mod 
h1:MDEgiDPPsNp5cuIrHPPCyornHKgEVbtFUmoNlxoYthg=
 github.com/subosito/gotenv v1.6.0 
h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
 github.com/subosito/gotenv v1.6.0/go.mod 
h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
-go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
 go.yaml.in/yaml/v3 v3.0.4/go.mod 
h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
-golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
-golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
-golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
-golang.org/x/text v0.28.0/go.mod 
h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
+go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw=
+go.yaml.in/yaml/v3 v3.0.5/go.mod 
h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg=
+golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
+golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
+golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8=
+golang.org/x/text v0.41.0/go.mod 
h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c 
h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod 
h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
-gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
-gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-helm.sh/helm/v3 v3.18.6 h1:S/2CqcYnNfLckkHLI0VgQbxgcDaU3N4A/46E3n9wSNY=
-helm.sh/helm/v3 v3.18.6/go.mod h1:L/dXDR2r539oPlFP1PJqKAC1CUgqHJDLkxKpDGrWnyg=
+helm.sh/helm/v3 v3.22.0 h1:n1if5iQgHYsujPAcO5oonH/KiSNUmqmUF0iGVjSF3AU=
+helm.sh/helm/v3 v3.22.0/go.mod h1:EVl/147Ai2z13JOykbO1Jn9HRaXyU7uHlbAJmODq/Fg=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/pkg/chart/chart.go 
new/chart-testing-3.15.0/pkg/chart/chart.go
--- old/chart-testing-3.14.0/pkg/chart/chart.go 2025-10-08 16:10:04.000000000 
+0200
+++ new/chart-testing-3.15.0/pkg/chart/chart.go 2026-10-06 10:27:25.000000000 
+0200
@@ -19,6 +19,7 @@
        "fmt"
        "os"
        "path/filepath"
+       "slices"
        "strings"
 
        "github.com/Masterminds/semver"
@@ -144,7 +145,7 @@
 //
 // RunCommand renders cmdTemplate as go template using data and executes the 
resulting command
 type CmdExecutor interface {
-       RunCommand(cmdTemplate string, data interface{}) error
+       RunCommand(cmdTemplate string, data any) error
 }
 
 // DirectoryLister is the interface
@@ -206,24 +207,29 @@
 }
 
 // CreateInstallParams generates a randomized release name and namespace based 
on the chart path
-// and optional buildID. If release_name is specified, the release name is set 
to that string instead.
+// and optional buildID. If releaseName is non-empty it is used verbatim as 
the release name
+// (Helm validates release-name syntax); otherwise a randomized 
"<name>-<suffix>" form is used.
 // If a buildID is specified, it will be part of the generated namespace.
 func (c *Chart) CreateInstallParams(buildID string, releaseName string) 
(release string, namespace string) {
        release = filepath.Base(c.Path())
        if release == "." || release == "/" {
-               if releaseName != "" {
-                       release = releaseName
-               } else {
-                       yaml := c.Yaml()
-                       release = yaml.Name
-               }
+               yaml := c.Yaml()
+               release = yaml.Name
        }
        namespace = release
        if buildID != "" {
                namespace = fmt.Sprintf("%s-%s", namespace, buildID)
        }
        randomSuffix := util.RandomString(10)
-       release = util.SanitizeName(fmt.Sprintf("%s-%s", release, 
randomSuffix), maxNameLength)
+       if releaseName != "" {
+               // An explicit --release-name is used verbatim so the release 
name is
+               // stable and predictable. Previously it was honored only when 
the chart
+               // path resolved to "." or "/", and a random suffix was appended
+               // unconditionally, which made --release-name appear to be 
ignored (#198).
+               release = releaseName
+       } else {
+               release = util.SanitizeName(fmt.Sprintf("%s-%s", release, 
randomSuffix), maxNameLength)
+       }
        namespace = util.SanitizeName(fmt.Sprintf("%s-%s", namespace, 
randomSuffix), maxNameLength)
        return
 }
@@ -253,12 +259,6 @@
        loadRules                func(string) (*helmignore.Rules, error)
 }
 
-// TestResults holds results and overall status
-type TestResults struct {
-       OverallSuccess bool
-       TestResults    []TestResult
-}
-
 // TestResult holds test results for a specific chart
 type TestResult struct {
        Chart *Chart
@@ -368,10 +368,7 @@
                }
        }
 
-       testResults := TestResults{
-               OverallSuccess: true,
-               TestResults:    results,
-       }
+       overallSuccess := true
 
        // Checkout previous chart revisions and build their dependencies
        if t.config.Upgrade {
@@ -410,11 +407,11 @@
 
                result := action(chart)
                if result.Error != nil {
-                       testResults.OverallSuccess = false
+                       overallSuccess = false
                }
                results = append(results, result)
        }
-       if testResults.OverallSuccess {
+       if overallSuccess {
                return results, nil
        }
 
@@ -764,7 +761,7 @@
        changedChartFiles := map[string][]string{}
        for _, file := range allChangedChartFiles {
                pathElements := strings.SplitN(filepath.ToSlash(file), "/", 3)
-               if len(pathElements) < 2 || 
util.StringSliceContains(cfg.ExcludedCharts, pathElements[1]) {
+               if len(pathElements) < 2 || slices.Contains(cfg.ExcludedCharts, 
pathElements[1]) {
                        continue
                }
                dir := filepath.Dir(file)
@@ -774,7 +771,7 @@
                if err == nil {
                        if len(chartDirElement) > 1 {
                                chartDirName := 
chartDirElement[len(chartDirElement)-1]
-                               if util.StringSliceContains(cfg.ExcludedCharts, 
chartDirName) {
+                               if slices.Contains(cfg.ExcludedCharts, 
chartDirName) {
                                        continue
                                }
                        }
@@ -818,7 +815,7 @@
                dirs, err := t.directoryLister.ListChildDirs(chartParentDir,
                        func(dir string) bool {
                                _, err := t.utils.LookupChartDir(cfg.ChartDirs, 
dir)
-                               return err == nil && 
!util.StringSliceContains(cfg.ExcludedCharts, filepath.Base(dir))
+                               return err == nil && 
!slices.Contains(cfg.ExcludedCharts, filepath.Base(dir))
                        })
                if err != nil {
                        return nil, fmt.Errorf("failed reading chart 
directories: %w", err)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/pkg/chart/chart_test.go 
new/chart-testing-3.15.0/pkg/chart/chart_test.go
--- old/chart-testing-3.14.0/pkg/chart/chart_test.go    2025-10-08 
16:10:04.000000000 +0200
+++ new/chart-testing-3.15.0/pkg/chart/chart_test.go    2026-10-06 
10:27:25.000000000 +0200
@@ -569,3 +569,23 @@
                })
        }
 }
+
+func TestChart_CreateInstallParams(t *testing.T) {
+       chrt, err := NewChart("test_charts/simple-deployment")
+       assert.Nil(t, err)
+
+       // An explicit release name (--release-name) must be used verbatim, 
with no
+       // random suffix appended, so the resulting release name is stable and
+       // predictable (#198).
+       release, namespace := chrt.CreateInstallParams("build-id", "my-release")
+       assert.Equal(t, "my-release", release)
+       // The namespace is still derived from the chart directory and 
randomized,
+       // independent of --release-name.
+       assert.True(t, strings.HasPrefix(namespace, 
"simple-deployment-build-id-"))
+       assert.NotEqual(t, "my-release", namespace)
+
+       // Without a release name the release keeps its historical randomized 
form.
+       release, _ = chrt.CreateInstallParams("", "")
+       assert.True(t, strings.HasPrefix(release, "simple-deployment-"))
+       assert.NotEqual(t, "simple-deployment", release)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/pkg/config/config.go 
new/chart-testing-3.15.0/pkg/config/config.go
--- old/chart-testing-3.14.0/pkg/config/config.go       2025-10-08 
16:10:04.000000000 +0200
+++ new/chart-testing-3.15.0/pkg/config/config.go       2026-10-06 
10:27:25.000000000 +0200
@@ -90,7 +90,7 @@
                if flagName != "config" && flagName != "help" {
                        if err := v.BindPFlag(flagName, flag); err != nil {
                                // can't really happen
-                               panic(fmt.Sprintf("failed binding flag %q: 
%v\n", flagName, err.Error()))
+                               panic(fmt.Sprintf("failed binding flag %q: 
%v\n", flagName, err))
                        }
                }
        })
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/pkg/config/config_test.go 
new/chart-testing-3.15.0/pkg/config/config_test.go
--- old/chart-testing-3.14.0/pkg/config/config_test.go  2025-10-08 
16:10:04.000000000 +0200
+++ new/chart-testing-3.15.0/pkg/config/config_test.go  2026-10-06 
10:27:25.000000000 +0200
@@ -15,7 +15,6 @@
 package config
 
 import (
-       "os"
        "path/filepath"
        "testing"
        "time"
@@ -34,6 +33,7 @@
 }
 
 func loadAndAssertConfigFromFile(t *testing.T, configFile string) {
+       t.Helper()
        cfg, _ := LoadConfiguration(configFile, &cobra.Command{
                Use: "install",
        }, true)
@@ -43,25 +43,25 @@
        require.Equal(t, "pr-42", cfg.BuildID)
        require.Equal(t, "my-lint-conf.yaml", cfg.LintConf)
        require.Equal(t, "my-chart-yaml-schema.yaml", cfg.ChartYamlSchema)
-       require.Equal(t, true, cfg.ValidateMaintainers)
-       require.Equal(t, true, cfg.ValidateChartSchema)
-       require.Equal(t, true, cfg.ValidateYaml)
-       require.Equal(t, true, cfg.CheckVersionIncrement)
-       require.Equal(t, false, cfg.ProcessAllCharts)
+       require.True(t, cfg.ValidateMaintainers)
+       require.True(t, cfg.ValidateChartSchema)
+       require.True(t, cfg.ValidateYaml)
+       require.True(t, cfg.CheckVersionIncrement)
+       require.False(t, cfg.ProcessAllCharts)
        require.Equal(t, []string{"incubator=https://incubator"}, 
cfg.ChartRepos)
        require.Equal(t, []string{"incubator=--username test"}, 
cfg.HelmRepoExtraArgs)
        require.Equal(t, []string{"stable", "incubator"}, cfg.ChartDirs)
        require.Equal(t, []string{"common"}, cfg.ExcludedCharts)
        require.Equal(t, "--timeout 300s", cfg.HelmExtraArgs)
        require.Equal(t, "--quiet", cfg.HelmLintExtraArgs)
-       require.Equal(t, true, cfg.Upgrade)
-       require.Equal(t, true, cfg.SkipMissingValues)
+       require.True(t, cfg.Upgrade)
+       require.True(t, cfg.SkipMissingValues)
        require.Equal(t, "default", cfg.Namespace)
        require.Equal(t, "release", cfg.ReleaseLabel)
-       require.Equal(t, true, cfg.ExcludeDeprecated)
+       require.True(t, cfg.ExcludeDeprecated)
        require.Equal(t, 120*time.Second, cfg.KubectlTimeout)
-       require.Equal(t, true, cfg.SkipCleanUp)
-       require.Equal(t, true, cfg.UseHelmignore)
+       require.True(t, cfg.SkipCleanUp)
+       require.True(t, cfg.UseHelmignore)
 }
 
 func Test_findConfigFile(t *testing.T) {
@@ -96,13 +96,7 @@
        for _, tt := range tests {
                t.Run(tt.name, func(t *testing.T) {
                        if tt.envVar != "" {
-                               err := os.Setenv("CT_CONFIG_DIR", tt.envVar)
-                               require.NoError(t, err)
-
-                               t.Cleanup(func() {
-                                       err := os.Unsetenv("CT_CONFIG_DIR")
-                                       require.NoError(t, err)
-                               })
+                               t.Setenv("CT_CONFIG_DIR", tt.envVar)
                        }
                        configSearchLocations = []string{tt.defaultDir}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/pkg/tool/kubectl.go 
new/chart-testing-3.15.0/pkg/tool/kubectl.go
--- old/chart-testing-3.14.0/pkg/tool/kubectl.go        2025-10-08 
16:10:04.000000000 +0200
+++ new/chart-testing-3.15.0/pkg/tool/kubectl.go        2026-10-06 
10:27:25.000000000 +0200
@@ -78,7 +78,7 @@
                return err
        }
 
-       namespaceUpdate := map[string]interface{}{}
+       namespaceUpdate := map[string]any{}
        err = json.Unmarshal([]byte(cmdOutput), &namespaceUpdate)
        if err != nil {
                fmt.Println("Error in unmarshalling the payload:", err)
@@ -103,7 +103,7 @@
                }
                req.Header.Set("Content-Type", "application/json")
 
-               errMsg := "Error removing finalizer from namespace"
+               errMsg := "error removing finalizer from namespace"
                client := retryablehttp.NewClient()
                client.Logger = nil
                if resp, err := client.Do(req); err != nil {
@@ -154,8 +154,7 @@
                return err
        }
 
-       deployments := strings.Fields(output)
-       for _, deployment := range deployments {
+       for deployment := range strings.FieldsSeq(output) {
                deployment = strings.Trim(deployment, "'")
                err = k.exec.RunProcess("kubectl",
                        fmt.Sprintf("--request-timeout=%s", k.timeout),
@@ -188,15 +187,15 @@
        jsonString, _ := k.exec.RunProcessAndCaptureStdout("kubectl",
                fmt.Sprintf("--request-timeout=%s", k.timeout),
                "get", "deployment", deployment, "--namespace", namespace, 
"--output=json")
-       var deploymentMap map[string]interface{}
+       var deploymentMap map[string]any
        err := json.Unmarshal([]byte(jsonString), &deploymentMap)
        if err != nil {
                return nil, err
        }
 
-       spec := deploymentMap["spec"].(map[string]interface{})
-       selector := spec["selector"].(map[string]interface{})
-       matchLabels := selector["matchLabels"].(map[string]interface{})
+       spec := deploymentMap["spec"].(map[string]any)
+       selector := spec["selector"].(map[string]any)
+       matchLabels := selector["matchLabels"].(map[string]any)
        var ls string
        for name, value := range matchLabels {
                if ls != "" {
@@ -209,7 +208,8 @@
 }
 
 func (k Kubectl) GetPods(args ...string) ([]string, error) {
-       kubectlArgs := []string{"get", "pods"}
+       kubectlArgs := make([]string, 0, 2+len(args))
+       kubectlArgs = append(kubectlArgs, "get", "pods")
        kubectlArgs = append(kubectlArgs, args...)
        pods, err := k.exec.RunProcessAndCaptureStdout("kubectl",
                fmt.Sprintf("--request-timeout=%s", k.timeout), kubectlArgs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/pkg/util/util.go 
new/chart-testing-3.15.0/pkg/util/util.go
--- old/chart-testing-3.14.0/pkg/util/util.go   2025-10-08 16:10:04.000000000 
+0200
+++ new/chart-testing-3.15.0/pkg/util/util.go   2026-10-06 10:27:25.000000000 
+0200
@@ -25,7 +25,6 @@
        "path/filepath"
        "regexp"
        "strings"
-       "time"
 
        "github.com/Masterminds/semver"
        "github.com/hashicorp/go-multierror"
@@ -46,15 +45,11 @@
        Maintainers []Maintainer
 }
 
-func Flatten(items []interface{}) ([]string, error) {
+func Flatten(items []any) ([]string, error) {
        return doFlatten([]string{}, items)
 }
 
-func init() {
-       rand.New(rand.NewSource(time.Now().UnixNano())) // nolint: gosec
-}
-
-func doFlatten(result []string, items interface{}) ([]string, error) {
+func doFlatten(result []string, items any) ([]string, error) {
        var err error
 
        switch v := items.(type) {
@@ -62,7 +57,7 @@
                result = append(result, v)
        case []string:
                result = append(result, v...)
-       case []interface{}:
+       case []any:
                for _, item := range v {
                        result, err = doFlatten(result, item)
                        if err != nil {
@@ -76,15 +71,6 @@
        return result, err
 }
 
-func StringSliceContains(slice []string, s string) bool {
-       for _, element := range slice {
-               if s == element {
-                       return true
-               }
-       }
-       return false
-}
-
 func FileExists(file string) bool {
        if _, err := os.Stat(file); err != nil {
                return false
@@ -243,10 +229,10 @@
 
 func GetRandomPort() (int, error) {
        listener, err := net.Listen("tcp", ":0") // nolint: gosec
-       defer listener.Close()                   // nolint: staticcheck
        if err != nil {
                return 0, err
        }
+       defer listener.Close() // nolint: errcheck
 
        return listener.Addr().(*net.TCPAddr).Port, nil
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chart-testing-3.14.0/pkg/util/util_test.go 
new/chart-testing-3.15.0/pkg/util/util_test.go
--- old/chart-testing-3.14.0/pkg/util/util_test.go      2025-10-08 
16:10:04.000000000 +0200
+++ new/chart-testing-3.15.0/pkg/util/util_test.go      2026-10-06 
10:27:25.000000000 +0200
@@ -24,13 +24,13 @@
 
 func TestFlatten(t *testing.T) {
        var testDataSlice = []struct {
-               input    []interface{}
+               input    []any
                expected []string
        }{
-               {[]interface{}{"foo", "bar", []string{"bla", "blubb"}}, 
[]string{"foo", "bar", "bla", "blubb"}},
-               {[]interface{}{"foo", "bar", "bla", "blubb"}, []string{"foo", 
"bar", "bla", "blubb"}},
-               {[]interface{}{"foo", "bar", []interface{}{"bla", 
[]string{"blubb"}}}, []string{"foo", "bar", "bla", "blubb"}},
-               {[]interface{}{"foo", 42, []interface{}{"bla", 
[]string{"blubb"}}}, nil},
+               {[]any{"foo", "bar", []string{"bla", "blubb"}}, []string{"foo", 
"bar", "bla", "blubb"}},
+               {[]any{"foo", "bar", "bla", "blubb"}, []string{"foo", "bar", 
"bla", "blubb"}},
+               {[]any{"foo", "bar", []any{"bla", []string{"blubb"}}}, 
[]string{"foo", "bar", "bla", "blubb"}},
+               {[]any{"foo", 42, []any{"bla", []string{"blubb"}}}, nil},
        }
 
        for index, testData := range testDataSlice {
@@ -38,9 +38,9 @@
                        actual, err := Flatten(testData.input)
                        assert.Equal(t, testData.expected, actual)
                        if testData.expected != nil {
-                               assert.Nil(t, err)
+                               assert.NoError(t, err)
                        } else {
-                               assert.NotNil(t, err)
+                               assert.Error(t, err)
                        }
                })
        }

++++++ chart-testing.obsinfo ++++++
--- /var/tmp/diff_new_pack.zWYAWb/_old  2026-10-07 19:34:15.646790524 +0200
+++ /var/tmp/diff_new_pack.zWYAWb/_new  2026-10-07 19:34:15.653790819 +0200
@@ -1,5 +1,5 @@
 name: chart-testing
-version: 3.14.0
-mtime: 1759932604
-commit: 2651b49048950c5473b1f533c900d17614bc6aa0
+version: 3.15.0
+mtime: 1791275245
+commit: c65afcebd6649d48179fc8b30db34fa9b1459cce
 

++++++ vendor.tar.gz ++++++
++++ 83334 lines of diff (skipped)

Reply via email to