Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package jfrog-cli for openSUSE:Factory 
checked in at 2026-11-05 18:20:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jfrog-cli (Old)
 and      /work/SRC/openSUSE:Factory/.jfrog-cli.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "jfrog-cli"

Thu Nov  5 18:20:47 2026 rev:58 rq:1395118 version:2.131.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/jfrog-cli/jfrog-cli.changes      2026-10-29 
16:12:36.585836918 +0100
+++ /work/SRC/openSUSE:Factory/.jfrog-cli.new.3759290/jfrog-cli.changes 
2026-11-05 18:22:35.744401480 +0100
@@ -1,0 +2,30 @@
+Wed Nov 04 09:11:23 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 2.131.0:
+  No changes in: build-info-go, gofrog, jfrog-cli-core, jfrog-cli-security
+  * Bug Fixes
+    - [jfrog-cli] RTECO-2742 - Add Helm push E2E tests for chart
+      versions with SemVer build metadata (+) #3752
+    - [jfrog-cli-artifactory] RTECO-2742 - Fix jf helm push build
+      info for chart versions with SemVer build metadata (+) #584
+  * Other Changes
+    - [jfrog-cli-artifactory] RTECO-0000 - Allow Frogbot to check
+      out approved fork pull requests #583
+    - [jfrog-cli-artifactory] RTECO-0000 - Install Mono from the
+      Ubuntu archive (apt-key and Mono repo missing on 26.04) #582
+    - [jfrog-client-go] XRAY-167698 - jf ca include-cached-packages
+      fail fixed #1404
+- Update to version 2.130.0:
+  No changes in: build-info-go, gofrog
+  * Bug Fixes
+    - [jfrog-client-go] RTECO-2726 - Fix(multipart): keep checksum
+      token after retried /complete #1402
+  * Internal Changes
+    - [jfrog-cli] RTECO-0000 - Upgrade
+      github.com/andybalholm/brotli to v1.2.7 #3748
+    - [jfrog-cli-core] RTECO-0000 - Upgrade
+      github.com/andybalholm/brotli to v1.2.7 #1628
+    - [jfrog-cli-security] Update Go to 1.26.10 and Dependencies
+      #933
+
+-------------------------------------------------------------------

Old:
----
  jfrog-cli-2.129.0.obscpio

New:
----
  jfrog-cli-2.131.0.obscpio

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

Other differences:
------------------
++++++ jfrog-cli.spec ++++++
--- /var/tmp/diff_new_pack.sIbB5b/_old  2026-11-05 18:22:37.453472695 +0100
+++ /var/tmp/diff_new_pack.sIbB5b/_new  2026-11-05 18:22:37.456472820 +0100
@@ -19,7 +19,7 @@
 %define executable_name jf
 
 Name:           jfrog-cli
-Version:        2.129.0
+Version:        2.131.0
 Release:        0
 Summary:        A client that automates access to JFrog products
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.sIbB5b/_old  2026-11-05 18:22:37.489474195 +0100
+++ /var/tmp/diff_new_pack.sIbB5b/_new  2026-11-05 18:22:37.492474320 +0100
@@ -4,7 +4,7 @@
     <param name="scm">git</param>
     <param name="submodules">disable</param>
     <param name="exclude">.git</param>
-    <param name="revision">refs/tags/v2.129.0</param>
+    <param name="revision">refs/tags/v2.131.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.sIbB5b/_old  2026-11-05 18:22:37.520475487 +0100
+++ /var/tmp/diff_new_pack.sIbB5b/_new  2026-11-05 18:22:37.523475612 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/jfrog/jfrog-cli.git</param>
-              <param 
name="changesrevision">cd054c449b92da78fd707da04f629ff4bb1515ad</param></service></servicedata>
+              <param 
name="changesrevision">7cd517216cfb29dd957b6888b9082c1b1865acd3</param></service></servicedata>
 (No newline at EOF)
 

++++++ jfrog-cli-2.129.0.obscpio -> jfrog-cli-2.131.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.129.0/build/npm/v2/package-lock.json 
new/jfrog-cli-2.131.0/build/npm/v2/package-lock.json
--- old/jfrog-cli-2.129.0/build/npm/v2/package-lock.json        2026-10-28 
14:22:52.000000000 +0100
+++ new/jfrog-cli-2.131.0/build/npm/v2/package-lock.json        2026-11-03 
12:10:32.000000000 +0100
@@ -1,5 +1,5 @@
 {
   "name": "jfrog-cli-v2",
-  "version": "2.129.0",
+  "version": "2.131.0",
   "lockfileVersion": 2
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.129.0/build/npm/v2/package.json 
new/jfrog-cli-2.131.0/build/npm/v2/package.json
--- old/jfrog-cli-2.129.0/build/npm/v2/package.json     2026-10-28 
14:22:52.000000000 +0100
+++ new/jfrog-cli-2.131.0/build/npm/v2/package.json     2026-11-03 
12:10:32.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "jfrog-cli-v2",
-  "version": "2.129.0",
+  "version": "2.131.0",
   "description": "🐸 Command-line interface for JFrog Artifactory, Xray, 
Distribution, Pipelines and Mission Control 🐸",
   "homepage": "https://github.com/jfrog/jfrog-cli";,
   "preferGlobal": true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.129.0/build/npm/v2-jf/package-lock.json 
new/jfrog-cli-2.131.0/build/npm/v2-jf/package-lock.json
--- old/jfrog-cli-2.129.0/build/npm/v2-jf/package-lock.json     2026-10-28 
14:22:52.000000000 +0100
+++ new/jfrog-cli-2.131.0/build/npm/v2-jf/package-lock.json     2026-11-03 
12:10:32.000000000 +0100
@@ -1,5 +1,5 @@
 {
   "name": "jfrog-cli-v2-jf",
-  "version": "2.129.0",
+  "version": "2.131.0",
   "lockfileVersion": 1
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.129.0/build/npm/v2-jf/package.json 
new/jfrog-cli-2.131.0/build/npm/v2-jf/package.json
--- old/jfrog-cli-2.129.0/build/npm/v2-jf/package.json  2026-10-28 
14:22:52.000000000 +0100
+++ new/jfrog-cli-2.131.0/build/npm/v2-jf/package.json  2026-11-03 
12:10:32.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "jfrog-cli-v2-jf",
-  "version": "2.129.0",
+  "version": "2.131.0",
   "description": "🐸 Command-line interface for JFrog Artifactory, Xray, 
Distribution, Pipelines and Mission Control 🐸",
   "homepage": "https://github.com/jfrog/jfrog-cli";,
   "preferGlobal": true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.129.0/go.mod new/jfrog-cli-2.131.0/go.mod
--- old/jfrog-cli-2.129.0/go.mod        2026-10-28 14:22:52.000000000 +0100
+++ new/jfrog-cli-2.131.0/go.mod        2026-11-03 12:10:32.000000000 +0100
@@ -22,12 +22,12 @@
        github.com/jfrog/build-info-go v1.13.1-0.20261028123549-f0cd26bfc2de
        github.com/jfrog/gofrog v1.7.7
        github.com/jfrog/jfrog-cli-application 
v1.0.2-0.20260917110731-d7783acedd8c
-       github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20261028045841-fcac6b18cd46
-       github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20261027135447-d76f4db4eedc
-       github.com/jfrog/jfrog-cli-evidence 
v0.11.1-0.20261026075204-fdf3635939c5
-       github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20261001090422-65bfb63e9be7
-       github.com/jfrog/jfrog-cli-security v1.41.1
-       github.com/jfrog/jfrog-client-go v1.55.1-0.20261028095135-b2b9a2cf0c36
+       github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20261103060251-30c80a7deec4
+       github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20261102064148-e4c77ed13cc6
+       github.com/jfrog/jfrog-cli-evidence 
v0.11.1-0.20261102090321-5b0bce39abfe
+       github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20261030162302-b4948e3a2cb1
+       github.com/jfrog/jfrog-cli-security v1.41.2
+       github.com/jfrog/jfrog-client-go v1.55.1-0.20261102081622-45c51cfca4f7
        github.com/jszwec/csvutil v1.10.0
        github.com/moby/moby/api v1.55.0
        github.com/spf13/viper v1.21.0
@@ -49,7 +49,7 @@
        github.com/ProtonMail/go-crypto v1.4.1 // indirect
        github.com/VividCortex/ewma v1.2.0 // indirect
        github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // 
indirect
-       github.com/andybalholm/brotli v1.2.2 // indirect
+       github.com/andybalholm/brotli v1.2.7 // indirect
        github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // 
indirect
        github.com/beevik/etree v1.7.0 // indirect
        github.com/blang/semver v3.5.1+incompatible // indirect
@@ -84,8 +84,8 @@
        github.com/fsnotify/fsnotify v1.10.1 // indirect
        github.com/gfleury/go-bitbucket-v1 v0.0.0-20240917142304-df385efaac68 
// indirect
        github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
-       github.com/go-git/go-billy/v5 v5.9.1 // indirect
-       github.com/go-git/go-git/v5 v5.19.2 // indirect
+       github.com/go-git/go-billy/v5 v5.9.2 // indirect
+       github.com/go-git/go-git/v5 v5.19.3 // indirect
        github.com/go-logr/logr v1.4.4 // indirect
        github.com/go-logr/stdr v1.2.2 // indirect
        github.com/go-ole/go-ole v1.3.0 // indirect
@@ -169,7 +169,7 @@
        github.com/package-url/packageurl-go v0.1.6 // indirect
        github.com/pelletier/go-toml/v2 v2.4.3 // indirect
        github.com/pierrec/lz4/v4 v4.1.28 // indirect
-       github.com/pjbgf/sha1cd v0.6.0 // indirect
+       github.com/pjbgf/sha1cd v0.7.0 // indirect
        github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
        github.com/pkg/errors v0.9.1 // indirect
        github.com/pkg/term v1.2.0-beta.2 // indirect
@@ -221,7 +221,7 @@
        go.yaml.in/yaml/v3 v3.0.5 // indirect
        golang.org/x/crypto v0.58.0 // indirect
        golang.org/x/mod v0.41.0 // indirect
-       golang.org/x/net v0.60.0 // indirect
+       golang.org/x/net v0.62.0 // indirect
        golang.org/x/oauth2 v0.36.0 // indirect
        golang.org/x/sync v0.24.0 // indirect
        golang.org/x/sys v0.49.0 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.129.0/go.sum new/jfrog-cli-2.131.0/go.sum
--- old/jfrog-cli-2.129.0/go.sum        2026-10-28 14:22:52.000000000 +0100
+++ new/jfrog-cli-2.131.0/go.sum        2026-11-03 12:10:32.000000000 +0100
@@ -57,8 +57,8 @@
 github.com/agnivade/levenshtein v1.2.1/go.mod 
h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU=
 github.com/alessio/shellescape v1.4.1 
h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
 github.com/alessio/shellescape v1.4.1/go.mod 
h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
-github.com/andybalholm/brotli v1.2.2 
h1:HzTuoo2ErYQqf5qvcJInB8uvqSVxRttzkFexPWtnceM=
-github.com/andybalholm/brotli v1.2.2/go.mod 
h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
+github.com/andybalholm/brotli v1.2.7 
h1:UgafRPGMam5ySHfRkhthMqOFA6IFoeF3D7mWIDLjG5A=
+github.com/andybalholm/brotli v1.2.7/go.mod 
h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be 
h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod 
h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
 github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 
h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q=
@@ -217,12 +217,12 @@
 github.com/go-chi/chi/v5 v5.3.0/go.mod 
h1:R+tYY2hNuVUUjxoPtqUdgBqevM9s9njzkTLutVsOCto=
 github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 
h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
 github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod 
h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
-github.com/go-git/go-billy/v5 v5.9.1 
h1:8U73XiOTfINdItHVa6z4Gv7ToObcZ6grkqQbLryLCdA=
-github.com/go-git/go-billy/v5 v5.9.1/go.mod 
h1:ExsU+jcGwXTBOnyilvAnEM1wug1IxHr4yP2ZXsNRtV0=
+github.com/go-git/go-billy/v5 v5.9.2 
h1:OXFSRyz4g20upsGDJgQG9Bak1l/ZEv8GHVYB52O71sE=
+github.com/go-git/go-billy/v5 v5.9.2/go.mod 
h1:ExsU+jcGwXTBOnyilvAnEM1wug1IxHr4yP2ZXsNRtV0=
 github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 
h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
 github.com/go-git/go-git-fixtures/v4 
v4.3.2-0.20231010084843-55a94097c399/go.mod 
h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
-github.com/go-git/go-git/v5 v5.19.2 
h1:wkfn7vOlUBu8ivAWKBWisTiwJK4jYHzTF8Ndv1LyGqY=
-github.com/go-git/go-git/v5 v5.19.2/go.mod 
h1:QqCBE1EFN5ddFmrliLQ3/ntRCUjZU3EJuwuB/jWEHjk=
+github.com/go-git/go-git/v5 v5.19.3 
h1:qHttbZ+Am7wEjdTpR1XMQ4rl42FK9SIXzZ4o9x7s6M4=
+github.com/go-git/go-git/v5 v5.19.3/go.mod 
h1:Ye4C8dVigkqrv9UsB4NMdSLV4yAIkLiIhW61gcOyhl4=
 github.com/go-jose/go-jose/v4 v4.1.4 
h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA=
 github.com/go-jose/go-jose/v4 v4.1.4/go.mod 
h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
 github.com/go-logr/logr v1.2.2/go.mod 
h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@@ -402,18 +402,18 @@
 github.com/jfrog/jfrog-apps-config v1.0.1/go.mod 
h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w=
 github.com/jfrog/jfrog-cli-application v1.0.2-0.20260917110731-d7783acedd8c 
h1:B/svbJcwCMHjeC+HqpzH9yEC7GEvOj3HPotYpG4Ga7A=
 github.com/jfrog/jfrog-cli-application 
v1.0.2-0.20260917110731-d7783acedd8c/go.mod 
h1:RHjDVsgfIE+6N49R1t1nBjbK2Je4VTN7CQm9OlwtFnQ=
-github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20261028045841-fcac6b18cd46 
h1:RVbOmtYD+DM4KQnsVOlEWayB1BAwvb0cy+xeOOlyraU=
-github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20261028045841-fcac6b18cd46/go.mod 
h1:sBjwumzQl0kgl068u09AjB6Dj5XL8BB3yM4+4lRRM8U=
-github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20261027135447-d76f4db4eedc 
h1:xrIYOKdHgIcYZEP9+bw14Ts6ZQyeSs2UGD6cQxhXV40=
-github.com/jfrog/jfrog-cli-core/v2 
v2.60.1-0.20261027135447-d76f4db4eedc/go.mod 
h1:dU4UKp2AB2MPsVd+v+o9a2/O3vVO2/Yt2dZ5ajqQUnI=
-github.com/jfrog/jfrog-cli-evidence v0.11.1-0.20261026075204-fdf3635939c5 
h1:PpGuelKEDO9ktDr90lCTDpg5jMMBuG1lS8Q4mhgegY0=
-github.com/jfrog/jfrog-cli-evidence 
v0.11.1-0.20261026075204-fdf3635939c5/go.mod 
h1:oo1VA2pFJroefmCILcPw8cqe+t+gy9jLh8IFIRxOJjs=
-github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20261001090422-65bfb63e9be7 
h1:qRAO4OPVFFcd1PBIvFKy9QCMz2UB5DeWSNZP/N+roIs=
-github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20261001090422-65bfb63e9be7/go.mod 
h1:aepFLIsqYJy1rFGkpY5CYwMRNViwjHtJcUaNzrWCCUo=
-github.com/jfrog/jfrog-cli-security v1.41.1 
h1:+pPr2GjzaT5KVmODl9GmA1ORCuAqRf+r0vCSoL7eLJ0=
-github.com/jfrog/jfrog-cli-security v1.41.1/go.mod 
h1:txbY83tf01IN3OxrIMNQnA587CGzelTFFRzrKVh4BzY=
-github.com/jfrog/jfrog-client-go v1.55.1-0.20261028095135-b2b9a2cf0c36 
h1:iyD1acORBXkLcJP1l8Kb+F51EL0VJL8WXUghJJtf6lA=
-github.com/jfrog/jfrog-client-go v1.55.1-0.20261028095135-b2b9a2cf0c36/go.mod 
h1:VxXcJChgyU/ijsK0JUyKhZ6g+XjtGetRTb+/3d1tFfU=
+github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20261103060251-30c80a7deec4 
h1:Z4WqOlZZe3NA02ekqFrbSNlO8hkdGPHn/PuWq1sb+CA=
+github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20261103060251-30c80a7deec4/go.mod 
h1:94/aLloMSK6avu4umcJS3DJ6IuGM5K10PwZ6kDqgzSo=
+github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20261102064148-e4c77ed13cc6 
h1:7Jdj+FiaMN5jiQ94+Xlehf9OSLqSbAqAvO44XB9d7E4=
+github.com/jfrog/jfrog-cli-core/v2 
v2.60.1-0.20261102064148-e4c77ed13cc6/go.mod 
h1:dxy3GflCOX9kGxcdEkCXWhV+EMUAGBWO+CY5fGjWcCQ=
+github.com/jfrog/jfrog-cli-evidence v0.11.1-0.20261102090321-5b0bce39abfe 
h1:BRaNdb6JIdGqGa79XwxIsZHDmZ26pQ5V1cPJ7zYLJoM=
+github.com/jfrog/jfrog-cli-evidence 
v0.11.1-0.20261102090321-5b0bce39abfe/go.mod 
h1:4OGLCLQjdHg9PpjFkxvn8bGflOZGEJsoBHAGys7gUio=
+github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20261030162302-b4948e3a2cb1 
h1:1NA6meQs1Nbe7B1AKcvLdX+hKpxyWVe+cNpTDJznZcs=
+github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20261030162302-b4948e3a2cb1/go.mod 
h1:aepFLIsqYJy1rFGkpY5CYwMRNViwjHtJcUaNzrWCCUo=
+github.com/jfrog/jfrog-cli-security v1.41.2 
h1:yLGCrg8T54y2HatjXSSawMVU8c03+dv2Tl8Y9Gz2G54=
+github.com/jfrog/jfrog-cli-security v1.41.2/go.mod 
h1:2LD9S9gqEGSvxUhVC+/DLIPzXFIg6jdCaw5pMdfnS7Y=
+github.com/jfrog/jfrog-client-go v1.55.1-0.20261102081622-45c51cfca4f7 
h1:gd1jzPoUxEsfL0N2qebHyemEHKqvob6d9Q8yOl0D5zE=
+github.com/jfrog/jfrog-client-go v1.55.1-0.20261102081622-45c51cfca4f7/go.mod 
h1:+WGudVz1kZofy4hfEidGdTXqF/E51IC65z4yTtt0TwE=
 github.com/jhump/protoreflect v1.17.0 
h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94=
 github.com/jhump/protoreflect v1.17.0/go.mod 
h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8=
 github.com/jszwec/csvutil v1.10.0 
h1:upMDUxhQKqZ5ZDCs/wy+8Kib8rZR8I8lOR34yJkdqhI=
@@ -524,8 +524,8 @@
 github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod 
h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE=
 github.com/pierrec/lz4/v4 v4.1.28 
h1:pPEPwRJ4kybBTfGt28q7lQsRJQHhC08axprdLD5Ppio=
 github.com/pierrec/lz4/v4 v4.1.28/go.mod 
h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4=
-github.com/pjbgf/sha1cd v0.6.0 h1:3WJ8Wz8gvDz29quX1OcEmkAlUg9diU4GxJHqs0/XiwU=
-github.com/pjbgf/sha1cd v0.6.0/go.mod 
h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM=
+github.com/pjbgf/sha1cd v0.7.0 h1:ZRNPKHj+gfkLBf0KJv/p1Hmz+7bqCT5o311YX0nq+DA=
+github.com/pjbgf/sha1cd v0.7.0/go.mod 
h1:pKR5Li+qTCo+ebqITZfwPlJGoCFCvSO00qxjbNtTUFQ=
 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c 
h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod 
h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -777,8 +777,8 @@
 golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
 golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
 golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
-golang.org/x/net v0.60.0 h1:79p50tfZlm0J9YfoDsSi639qSXNGVwEzOPLCxM2FsYU=
-golang.org/x/net v0.60.0/go.mod h1:2DA/G1UfVbCpQPeWTmMPGY7Cs2PkBkwu743bVX5PIVg=
+golang.org/x/net v0.62.0 h1:18ELalfM5+XNRwzM2nYqXsZQ9ByS1uhj2O/U7+5jqRY=
+golang.org/x/net v0.62.0/go.mod h1:WgDCOTH8iwtB66T4/GfI94AHo/hhdb7Hah9NDseQfiI=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
 golang.org/x/oauth2 v0.36.0/go.mod 
h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.129.0/helm_test.go 
new/jfrog-cli-2.131.0/helm_test.go
--- old/jfrog-cli-2.129.0/helm_test.go  2026-10-28 14:22:52.000000000 +0100
+++ new/jfrog-cli-2.131.0/helm_test.go  2026-11-03 12:10:32.000000000 +0100
@@ -1090,23 +1090,38 @@
 }
 
 func runHelmSubpathPushTest(t *testing.T, subpath, buildName, chartName, 
chartVersion string) {
+       buildInfo := pushHelmChartAndGetBuildInfo(t, subpath, buildName, 
chartName, chartVersion, skipOnRegistryFlake)
+
+       validateHelmBuildInfo(t, buildInfo, buildName, true, false)
+       assertOCIArtifactsUnderSubpath(t, buildInfo,
+               subpath+"/"+chartName+"/"+chartVersion)
+}
+
+// Values of the tolerateRegistryFlakes argument of 
pushHelmChartAndGetBuildInfo.
+const (
+       skipOnRegistryFlake = true
+       failOnAnyPushError  = false
+)
+
+// pushHelmChartAndGetBuildInfo packages a test chart, pushes it with 'jf helm 
push' and returns the published build info.
+// With tolerateRegistryFlakes, push errors that look like an unavailable OCI 
registry skip the test instead of failing it.
+func pushHelmChartAndGetBuildInfo(t *testing.T, subpath, buildName, chartName, 
chartVersion string, tolerateRegistryFlakes bool) buildinfo.BuildInfo {
        const buildNumber = "1"
 
        chartFile, chartDir, restoreCwd := packageHelmChartForPush(t, 
chartName, chartVersion)
-       defer restoreCwd()
+       // Restore the working directory before removing the chart directory: 
Windows cannot remove the current directory.
        defer func() {
                if err := os.RemoveAll(chartDir); err != nil {
                        t.Logf("Warning: Failed to remove test chart directory 
%s: %v", chartDir, err)
                }
        }()
+       defer restoreCwd()
 
        registryHost, registryURL := helmSubpathRegistryURL(t, subpath)
        if !isRepoExist(tests.HelmLocalRepo) {
                t.Skipf("Repository %s does not exist. Skipping test.", 
tests.HelmLocalRepo)
        }
-       if !loginHelmRegistryOrSkip(t, registryHost) {
-               return
-       }
+       loginHelmRegistryOrSkip(t, registryHost)
 
        jfrogCli := coreTests.NewJfrogCli(execMain, "jfrog", "")
        pushArgs := []string{
@@ -1115,8 +1130,10 @@
                "--build-number=" + buildNumber,
        }
        if err := jfrogCli.Exec(pushArgs...); err != nil {
-               maybeSkipHelmPushFlake(t, err)
-               require.NoError(t, err, "helm push to subpath %q should 
succeed", subpath)
+               if tolerateRegistryFlakes {
+                       maybeSkipHelmPushFlake(t, err)
+               }
+               require.NoError(t, err, "helm push of chart %s:%s to %q should 
succeed", chartName, chartVersion, subpath)
        }
 
        assert.NoError(t, artifactoryCli.Exec("bp", buildName, buildNumber))
@@ -1124,10 +1141,51 @@
        publishedBuildInfo, found, err := tests.GetBuildInfo(serverDetails, 
buildName, buildNumber)
        require.NoError(t, err, "Failed to get build info")
        require.True(t, found, "build info should be found")
+       return publishedBuildInfo.BuildInfo
+}
 
-       validateHelmBuildInfo(t, publishedBuildInfo.BuildInfo, buildName, true, 
false)
-       assertOCIArtifactsUnderSubpath(t, publishedBuildInfo.BuildInfo,
-               subpath+"/"+chartName+"/"+chartVersion)
+// TestHelmPushWithSemVerBuildMetadata verifies that 'jf helm push' collects 
build info for a chart version with
+// SemVer build metadata. Helm stores such a version under the OCI tag with 
'+' replaced by '_',
+// so the pushed artifacts must be found in the '_' folder, while the module 
id keeps the real version.
+// A failed push is never skipped here, so the regression cannot pass as a 
skipped test.
+// The usual skips for a missing repository or an unusable registry login 
still apply.
+func TestHelmPushWithSemVerBuildMetadata(t *testing.T) {
+       initHelmTest(t)
+       defer cleanHelmTest(t)
+
+       testCases := []struct {
+               name           string
+               subpath        string
+               chartName      string
+               chartVersion   string
+               expectedFolder string
+       }{
+               {"no subpath", "", "semver-meta-chart", "1.2.3+abc1234", 
"semver-meta-chart/1.2.3_abc1234"},
+               {"with subpath", "org/team-delta", "semver-meta-sub-chart", 
"103.287.0+0b2041e", "org/team-delta/semver-meta-sub-chart/103.287.0_0b2041e"},
+       }
+       for _, testCase := range testCases {
+               t.Run(testCase.name, func(t *testing.T) {
+                       buildName := tests.HelmBuildName + "-push-" + 
testCase.chartName
+                       inttestutils.DeleteBuild(serverDetails.ArtifactoryUrl, 
buildName, artHttpDetails)
+                       defer 
inttestutils.DeleteBuild(serverDetails.ArtifactoryUrl, buildName, 
artHttpDetails)
+                       buildInfo := pushHelmChartAndGetBuildInfo(t, 
testCase.subpath, buildName, testCase.chartName, testCase.chartVersion, 
failOnAnyPushError)
+
+                       validateHelmBuildInfo(t, buildInfo, buildName, true, 
false)
+                       module := buildInfo.Modules[0]
+                       assert.Equal(t, 
testCase.chartName+":"+testCase.chartVersion, module.Id, "module id must keep 
the original chart version")
+                       require.NotEmpty(t, module.Artifacts, "helm module must 
contain the pushed OCI artifacts")
+                       assertOCIArtifactsUnderSubpath(t, buildInfo, 
testCase.expectedFolder)
+
+                       // The build properties are set on the same folder, so 
they must be found on its manifest.
+                       serviceManager, err := 
utils.CreateServiceManager(serverDetails, 3, 1000, false)
+                       require.NoError(t, err)
+                       props, err := 
serviceManager.GetItemProps(tests.HelmLocalRepo + "/" + testCase.expectedFolder 
+ "/manifest.json")
+                       require.NoError(t, err)
+                       require.NotNil(t, props, "manifest.json under the '_' 
tag folder has no properties")
+                       assert.Contains(t, props.Properties["build.name"], 
buildName)
+                       assert.Contains(t, props.Properties["build.number"], 
"1")
+               })
+       }
 }
 
 func TestHelmPushModuleCoexistenceAfterExistingModule(t *testing.T) {
@@ -1152,20 +1210,18 @@
        ), "rt build-add-dependencies should seed the build with a non-helm 
module")
 
        chartFile, chartDir, restoreCwd := packageHelmChartForPush(t, 
chartName, chartVersion)
-       defer restoreCwd()
        defer func() {
                if err := os.RemoveAll(chartDir); err != nil {
                        t.Logf("Warning: Failed to remove test chart directory 
%s: %v", chartDir, err)
                }
        }()
+       defer restoreCwd()
 
        registryHost, registryURL := helmSubpathRegistryURL(t, "")
        if !isRepoExist(tests.HelmLocalRepo) {
                t.Skipf("Repository %s does not exist. Skipping test.", 
tests.HelmLocalRepo)
        }
-       if !loginHelmRegistryOrSkip(t, registryHost) {
-               return
-       }
+       loginHelmRegistryOrSkip(t, registryHost)
 
        jfrogCli := coreTests.NewJfrogCli(execMain, "jfrog", "")
        pushArgs := []string{
@@ -1242,14 +1298,13 @@
        return registryHost, registryURL
 }
 
-func loginHelmRegistryOrSkip(t *testing.T, registryHost string) bool {
+func loginHelmRegistryOrSkip(t *testing.T, registryHost string) {
        err := loginHelmRegistry(t, registryHost)
        if err == nil {
-               return true
+               return
        }
        maybeSkipHelmLoginFlake(t, err)
        require.NoError(t, err, "helm registry login should succeed")
-       return false
 }
 
 func maybeSkipHelmLoginFlake(t *testing.T, err error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.129.0/utils/cliutils/cli_consts.go 
new/jfrog-cli-2.131.0/utils/cliutils/cli_consts.go
--- old/jfrog-cli-2.129.0/utils/cliutils/cli_consts.go  2026-10-28 
14:22:52.000000000 +0100
+++ new/jfrog-cli-2.131.0/utils/cliutils/cli_consts.go  2026-11-03 
12:10:32.000000000 +0100
@@ -4,7 +4,7 @@
 
 const (
        // General CLI constants
-       CliVersion  = "2.129.0"
+       CliVersion  = "2.131.0"
        ClientAgent = "jfrog-cli-go"
 
        // CLI base commands constants:

++++++ jfrog-cli.obsinfo ++++++
--- /var/tmp/diff_new_pack.sIbB5b/_old  2026-11-05 18:22:38.466514907 +0100
+++ /var/tmp/diff_new_pack.sIbB5b/_new  2026-11-05 18:22:38.470515074 +0100
@@ -1,5 +1,5 @@
 name: jfrog-cli
-version: 2.129.0
-mtime: 1793193772
-commit: cd054c449b92da78fd707da04f629ff4bb1515ad
+version: 2.131.0
+mtime: 1793704232
+commit: 7cd517216cfb29dd957b6888b9082c1b1865acd3
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/jfrog-cli/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.jfrog-cli.new.3759290/vendor.tar.gz differ: char 
150, line 1

Reply via email to