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-06-05 14:56:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jfrog-cli (Old)
 and      /work/SRC/openSUSE:Factory/.jfrog-cli.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "jfrog-cli"

Fri Jun  5 14:56:55 2026 rev:41 rq:1357079 version:2.107.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/jfrog-cli/jfrog-cli.changes      2026-06-03 
20:28:00.611118677 +0200
+++ /work/SRC/openSUSE:Factory/.jfrog-cli.new.2375/jfrog-cli.changes    
2026-06-05 14:57:00.936156191 +0200
@@ -1,0 +2,36 @@
+Thu Jun 04 05:32:31 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 2.107.0:
+  * New Features
+    - [jfrog-cli-artifactory] RTECO-1079 - Implement search for
+      plugins #474 (@udaykb2)
+    - [jfrog-cli-artifactory] RTECO-1079 - Add prompt to install &
+      update for version #475 (@udaykb2)
+  * Bug Fixes
+    - [jfrog-cli] RTECO-1352 - Fix jf setup docker login when using
+      --url #3517 (@Edenb2131)
+    - [jfrog-cli-artifactory] Fix - Change GOPROXY #477 (@udaykb2)
+    - [jfrog-cli-artifactory] RTECO-1352 - Fix jf setup docker
+      login when using --url #460 (@Edenb2131)
+  * Internal Changes
+    - [jfrog-cli-artifactory] RTECO-1079 - Update agents commands
+      help #478 (@udaykb2)
+  * Other Changes
+    - [jfrog-cli] Rteco 1299 jfrog artifactory ecomatrix cli e2e
+      #3523 (@naveenku-jfrog)
+    - [jfrog-cli] Make sure to use cyclonedx-go 0.10.0 #3525
+      (@attiasas)
+    - [jfrog-cli] RTECO-1299 - Retry failed jfrog-cli-workflows
+      runs via rerun-failed-jobs API #3529 (@naveenku-jfrog)
+    - [jfrog-cli-artifactory] RTECO-1079 - Remove updating plugins
+      during publish #471 (@udaykb2)
+    - [jfrog-cli-artifactory] RTECO-1079 - Consistent plugin
+      identification #473 (@udaykb2)
+    - [jfrog-cli-artifactory] RTECO-1079 - Make version & slug
+      consistent #472 (@udaykb2)
+    - [jfrog-cli-artifactory] RTECO-1079 - Change the semver error
+      response #479 (@udaykb2)
+    - [jfrog-cli-artifactory] RTECO-1079 - Use consistent env
+      naming #480 (@udaykb2)
+
+-------------------------------------------------------------------

Old:
----
  jfrog-cli-2.106.0.obscpio

New:
----
  jfrog-cli-2.107.0.obscpio

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

Other differences:
------------------
++++++ jfrog-cli.spec ++++++
--- /var/tmp/diff_new_pack.NjERpD/_old  2026-06-05 14:57:03.260252306 +0200
+++ /var/tmp/diff_new_pack.NjERpD/_new  2026-06-05 14:57:03.264252472 +0200
@@ -19,7 +19,7 @@
 %define executable_name jf
 
 Name:           jfrog-cli
-Version:        2.106.0
+Version:        2.107.0
 Release:        0
 Summary:        A client that automates access to the JFrog products
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.NjERpD/_old  2026-06-05 14:57:03.300253960 +0200
+++ /var/tmp/diff_new_pack.NjERpD/_new  2026-06-05 14:57:03.304254126 +0200
@@ -4,7 +4,7 @@
     <param name="scm">git</param>
     <param name="submodules">disable</param>
     <param name="exclude">.git</param>
-    <param name="revision">v2.106.0</param>
+    <param name="revision">v2.107.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.NjERpD/_old  2026-06-05 14:57:03.328255119 +0200
+++ /var/tmp/diff_new_pack.NjERpD/_new  2026-06-05 14:57:03.328255119 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/jfrog/jfrog-cli.git</param>
-              <param 
name="changesrevision">74fc6011910b3f28aa40cf8d8b1cf731d1c0b16d</param></service></servicedata>
+              <param 
name="changesrevision">428741699957871b656f0df3e0b2942e8253de86</param></service></servicedata>
 (No newline at EOF)
 

++++++ jfrog-cli-2.106.0.obscpio -> jfrog-cli-2.107.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.106.0/.jfrog-pipelines/pipelines.yml 
new/jfrog-cli-2.107.0/.jfrog-pipelines/pipelines.yml
--- old/jfrog-cli-2.106.0/.jfrog-pipelines/pipelines.yml        2026-06-01 
16:22:45.000000000 +0200
+++ new/jfrog-cli-2.107.0/.jfrog-pipelines/pipelines.yml        2026-06-03 
14:38:50.000000000 +0200
@@ -72,6 +72,22 @@
             default: "artifactory-dind-amd-scale-set"
             description: "GitHub Actions runs-on label for all test jobs (use 
your self-hosted label; github.com-style ubuntu-24.04 is often unavailable on 
GHE)"
             allowCustom: true
+          LOGS_TO_KIBANA:
+            default: "true"
+            description: "Forward Artifactory logs from the deployed ephemeral 
environment to Kibana (via Coralogix). Maps to the LOGS_TO_KIBANA parameter of 
the environment_setup_gen2 Jenkins job. Set 'false' to disable."
+            allowCustom: true
+          DEPLOYMENT_SIZING:
+            default: "large"
+            description: "Artifactory deployment sizing profile."
+            allowCustom: true
+          MAX_RUN_RETRIES:
+            default: "2"
+            description: "Per-workflow run-level retry budget. When a 
dispatched workflow run finishes with a non-success conclusion, the pipeline 
calls GitHub's rerun-failed-jobs API up to this many times before declaring it 
failed. Set 0 to disable run-level retry."
+            allowCustom: true
+          MAX_WAIT_SECONDS:
+            default: "14400"
+            description: "Maximum total seconds to wait for all dispatched 
workflow runs (including reruns) to complete. Default 4h to accommodate up to 
MAX_RUN_RETRIES reruns of slow suites."
+            allowCustom: true
     steps:
       - name: setup_cli_test
         type: Bash
@@ -140,6 +156,8 @@
             ACCOUNT_TYPE: "enterprise_plus"
             GROUP: "ARTIFACTORY"
             EXPIRY: 2d
+            LOGS_TO_KIBANA: "${LOGS_TO_KIBANA}"
+            DEPLOYMENT_SIZING: "${DEPLOYMENT_SIZING}"
             EXTRA_PARAMS: "conf_artifactory_unified_version=${RT_VERSION} 
master_key=${MASTER_KEY}"
 
       - name: setup_environment
@@ -298,6 +316,10 @@
               GH_JF_CLI_REPO="${JFROG_CLI_GITHUB_REPO:-jfrog/jfrog-cli}"
               
GH_ACTIONS_RUNNER="${GHE_ACTIONS_RUNNER:-artifactory-dind-amd-scale-set}"
 
+              # Run-level retry knobs (see the readOnly env vars above).
+              MAX_RUN_RETRIES_RESOLVED="${MAX_RUN_RETRIES:-2}"
+              MAX_WAIT_RESOLVED="${MAX_WAIT_SECONDS:-14400}"
+
               GITHUB_TOKEN_RESOLVED="${GITHUB_DISPATCH_TOKEN:-}"
               if [[ -z "${GITHUB_TOKEN_RESOLVED}" ]]; then 
GITHUB_TOKEN_RESOLVED="${int_jfrog_cli_gh_token:-}"; fi
               if [[ -z "${GITHUB_TOKEN_RESOLVED}" ]]; then 
GITHUB_TOKEN_RESOLVED="${int_jfrog_cli_gh_accessToken:-}"; fi
@@ -317,6 +339,8 @@
               echo "  jfrog_cli_repo : ${GH_JF_CLI_REPO}"
               echo "  jfrog_cli_ref  : ${CLI_REF}"
               echo "  jfrog_url      : ${JFROG_URL}"
+              echo "  run-level retries per workflow : 
${MAX_RUN_RETRIES_RESOLVED}"
+              echo "  total wait budget (seconds)    : ${MAX_WAIT_RESOLVED}"
 
               # ── Verify repo access 
───────────────────────────────────────────
               REPO_CODE=$(curl -sS -o /tmp/gh_repo.json -w "%{http_code}" \
@@ -480,14 +504,42 @@
                 RUN_ENTRIES="${RUN_ENTRIES} ${GH_WF_FILE}:${RUN_ID}"
               done
 
+              # ── Initialise per-workflow retry budgets 
────────────────────────
+              # We can't use a bash associative array because the script may
+              # run under /bin/sh on some images. Use a single space-separated
+              # string of "name=count" entries and update it in-place.
+              RETRIES_LEFT=""
+              for ENTRY in ${RUN_ENTRIES}; do
+                GH_WF_FILE="${ENTRY%%:*}"
+                RETRIES_LEFT="${RETRIES_LEFT} 
${GH_WF_FILE}=${MAX_RUN_RETRIES_RESOLVED}"
+              done
+
+              get_retries_left() {
+                local name="$1"
+                echo "${RETRIES_LEFT}" \
+                  | tr ' ' '\n' \
+                  | awk -F= -v n="${name}" '$1 == n {print $2; exit}'
+              }
+              set_retries_left() {
+                local name="$1"
+                local count="$2"
+                local rebuilt=""
+                for kv in ${RETRIES_LEFT}; do
+                  case "${kv}" in
+                    "${name}="*) rebuilt="${rebuilt} ${name}=${count}" ;;
+                    *)           rebuilt="${rebuilt} ${kv}" ;;
+                  esac
+                done
+                RETRIES_LEFT="${rebuilt}"
+              }
+
               # ── Poll all runs until every one completes 
──────────────────────
               echo ""
-              echo "Monitoring all workflow runs..."
-              MAX_WAIT=7200
+              echo "Monitoring all workflow runs (retry budget: 
${MAX_RUN_RETRIES_RESOLVED} per workflow, total wait ${MAX_WAIT_RESOLVED}s)..."
               ELAPSED=0
               INTERVAL=60
 
-              while [[ ${ELAPSED} -lt ${MAX_WAIT} ]]; do
+              while [[ ${ELAPSED} -lt ${MAX_WAIT_RESOLVED} ]]; do
                 ALL_DONE=true
                 ANY_FAILED=false
                 FAILED_WORKFLOWS=""
@@ -503,18 +555,42 @@
                     
"${GH_API_URL}/repos/${GH_WORKFLOWS_REPO}/actions/runs/${RUN_ID}")
                   STATUS=$(echo "${RUN_JSON}" | jq -r '.status // empty')
                   CONCLUSION=$(echo "${RUN_JSON}" | jq -r '.conclusion // 
empty')
+                  RUN_ATTEMPT=$(echo "${RUN_JSON}" | jq -r '.run_attempt // 1')
 
                   if [[ "${STATUS}" != "completed" ]]; then
                     ALL_DONE=false
-                    echo "  [running] ${GH_WF_FILE} (${RUN_ID}): ${STATUS}"
+                    echo "  [running] ${GH_WF_FILE} (${RUN_ID}, attempt 
${RUN_ATTEMPT}): ${STATUS}"
                     LAST_SUMMARY="${LAST_SUMMARY}${GH_WF_FILE}:${STATUS};"
                   elif [[ "${CONCLUSION}" != "success" ]]; then
-                    ANY_FAILED=true
-                    echo "  [FAILED]  ${GH_WF_FILE} (${RUN_ID}): ${CONCLUSION}"
-                    FAILED_WORKFLOWS="${FAILED_WORKFLOWS} ${GH_WF_FILE}"
-                    LAST_SUMMARY="${LAST_SUMMARY}${GH_WF_FILE}:${CONCLUSION};"
+                    RL=$(get_retries_left "${GH_WF_FILE}")
+                    RL="${RL:-0}"
+                    if [[ "${RL}" -gt 0 ]]; then
+                      NEW_RL=$((RL - 1))
+                      echo "  [retry]   ${GH_WF_FILE} (${RUN_ID}, attempt 
${RUN_ATTEMPT}): ${CONCLUSION} -> calling rerun-failed-jobs (retries left after 
this: ${NEW_RL})"
+                      RR_CODE=$(curl -sS -o /tmp/gh_rerun.json -w 
"%{http_code}" -X POST \
+                        -H "Accept: application/vnd.github+json" \
+                        -H "Authorization: Bearer ${GITHUB_TOKEN_RESOLVED}" \
+                        -H "X-GitHub-Api-Version: 2022-11-28" \
+                        
"${GH_API_URL}/repos/${GH_WORKFLOWS_REPO}/actions/runs/${RUN_ID}/rerun-failed-jobs")
+                      if [[ "${RR_CODE}" == "201" ]]; then
+                        set_retries_left "${GH_WF_FILE}" "${NEW_RL}"
+                        ALL_DONE=false
+                        LAST_SUMMARY="${LAST_SUMMARY}${GH_WF_FILE}:retrying;"
+                      else
+                        echo "  [retry]   rerun-failed-jobs returned HTTP 
${RR_CODE}; treating ${GH_WF_FILE} as failed"
+                        cat /tmp/gh_rerun.json 2>/dev/null || true
+                        ANY_FAILED=true
+                        FAILED_WORKFLOWS="${FAILED_WORKFLOWS} ${GH_WF_FILE}"
+                        
LAST_SUMMARY="${LAST_SUMMARY}${GH_WF_FILE}:${CONCLUSION};"
+                      fi
+                    else
+                      ANY_FAILED=true
+                      echo "  [FAILED]  ${GH_WF_FILE} (${RUN_ID}, attempt 
${RUN_ATTEMPT}): ${CONCLUSION} (no retries left)"
+                      FAILED_WORKFLOWS="${FAILED_WORKFLOWS} ${GH_WF_FILE}"
+                      
LAST_SUMMARY="${LAST_SUMMARY}${GH_WF_FILE}:${CONCLUSION};"
+                    fi
                   else
-                    echo "  [ok]      ${GH_WF_FILE} (${RUN_ID}): success"
+                    echo "  [ok]      ${GH_WF_FILE} (${RUN_ID}, attempt 
${RUN_ATTEMPT}): success"
                     LAST_SUMMARY="${LAST_SUMMARY}${GH_WF_FILE}:success;"
                   fi
                 done
@@ -522,18 +598,18 @@
                 if [[ "${ALL_DONE}" == "true" ]]; then
                   echo ""
                   if [[ "${ANY_FAILED}" == "true" ]]; then
-                    fail_jf_cli_tests "One or more workflow runs failed. 
${LAST_SUMMARY}"
+                    fail_jf_cli_tests "One or more workflow runs failed after 
exhausting retries. ${LAST_SUMMARY}"
                   fi
-                  echo "All workflow runs completed successfully."
+                  echo "All workflow runs completed successfully. 
${LAST_SUMMARY}"
                   exit 0
                 fi
 
-                echo "  --- sleeping ${INTERVAL}s (elapsed ${ELAPSED}s / 
${MAX_WAIT}s) ---"
+                echo "  --- sleeping ${INTERVAL}s (elapsed ${ELAPSED}s / 
${MAX_WAIT_RESOLVED}s) ---"
                 sleep "${INTERVAL}"
                 ELAPSED=$((ELAPSED + INTERVAL))
               done
 
-              fail_jf_cli_tests "Timed out after ${MAX_WAIT}s while waiting 
for workflow runs. ${LAST_SUMMARY}"
+              fail_jf_cli_tests "Timed out after ${MAX_WAIT_RESOLVED}s while 
waiting for workflow runs. ${LAST_SUMMARY}"
 
           onSuccess:
             - echo "JFrog CLI integration tests finished successfully."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.106.0/build/npm/v2/README.md 
new/jfrog-cli-2.107.0/build/npm/v2/README.md
--- old/jfrog-cli-2.106.0/build/npm/v2/README.md        2026-06-01 
16:22:45.000000000 +0200
+++ new/jfrog-cli-2.107.0/build/npm/v2/README.md        2026-06-03 
14:38:50.000000000 +0200
@@ -8,6 +8,22 @@
 
 [Website](http://www.jfrog.com)  •  
[Docs](https://docs.jfrog-applications.jfrog.io/jfrog-applications/jfrog-cli)  
•  [Issues](https://github.com/jfrog/jfrog-cli/issues)  •  
[Blog](https://jfrog.com/blog/)  •  [We're Hiring](https://join.jfrog.com/)  •  
[Artifactory Free Trial](https://jfrog.com/artifactory/free-trial/)
 
+> [!IMPORTANT]
+> **Please migrate to 
[`jfrog-cli-v2-jf`](https://www.npmjs.com/package/jfrog-cli-v2-jf).**
+>
+> This package (`jfrog-cli-v2`) installs the CLI under the **`jfrog`** 
executable name. The actively maintained package, 
[`jfrog-cli-v2-jf`](https://www.npmjs.com/package/jfrog-cli-v2-jf), installs 
the very same CLI but under the shorter **`jf`** executable name, which is now 
the standard across JFrog's documentation, examples, and CI/CD integrations.
+>
+> **What this means for you:**
+> - The command you type changes from `jfrog ...` to `jf ...` — update your 
scripts, pipelines, aliases, and shell completions accordingly.
+> - Both executables share the same configuration, so your existing servers 
and settings continue to work.
+> - You can install both side by side during the transition, but to avoid 
confusion we recommend switching fully to `jf`.
+>
+> To migrate:
+> ```bash
+> npm uninstall -g jfrog-cli-v2
+> npm install -g jfrog-cli-v2-jf
+> ```
+
 ## Overview
 
 JFrog CLI is a compact and smart client that provides a simple interface that 
automates access to *Artifactory*, *Xray*,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.106.0/build/npm/v2/package-lock.json 
new/jfrog-cli-2.107.0/build/npm/v2/package-lock.json
--- old/jfrog-cli-2.106.0/build/npm/v2/package-lock.json        2026-06-01 
16:22:45.000000000 +0200
+++ new/jfrog-cli-2.107.0/build/npm/v2/package-lock.json        2026-06-03 
14:38:50.000000000 +0200
@@ -1,5 +1,5 @@
 {
   "name": "jfrog-cli-v2",
-  "version": "2.106.0",
+  "version": "2.107.0",
   "lockfileVersion": 2
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.106.0/build/npm/v2/package.json 
new/jfrog-cli-2.107.0/build/npm/v2/package.json
--- old/jfrog-cli-2.106.0/build/npm/v2/package.json     2026-06-01 
16:22:45.000000000 +0200
+++ new/jfrog-cli-2.107.0/build/npm/v2/package.json     2026-06-03 
14:38:50.000000000 +0200
@@ -1,6 +1,6 @@
 {
   "name": "jfrog-cli-v2",
-  "version": "2.106.0",
+  "version": "2.107.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.106.0/build/npm/v2-jf/package-lock.json 
new/jfrog-cli-2.107.0/build/npm/v2-jf/package-lock.json
--- old/jfrog-cli-2.106.0/build/npm/v2-jf/package-lock.json     2026-06-01 
16:22:45.000000000 +0200
+++ new/jfrog-cli-2.107.0/build/npm/v2-jf/package-lock.json     2026-06-03 
14:38:50.000000000 +0200
@@ -1,5 +1,5 @@
 {
   "name": "jfrog-cli-v2-jf",
-  "version": "2.106.0",
+  "version": "2.107.0",
   "lockfileVersion": 1
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.106.0/build/npm/v2-jf/package.json 
new/jfrog-cli-2.107.0/build/npm/v2-jf/package.json
--- old/jfrog-cli-2.106.0/build/npm/v2-jf/package.json  2026-06-01 
16:22:45.000000000 +0200
+++ new/jfrog-cli-2.107.0/build/npm/v2-jf/package.json  2026-06-03 
14:38:50.000000000 +0200
@@ -1,6 +1,6 @@
 {
   "name": "jfrog-cli-v2-jf",
-  "version": "2.106.0",
+  "version": "2.107.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.106.0/docker_test.go 
new/jfrog-cli-2.107.0/docker_test.go
--- old/jfrog-cli-2.106.0/docker_test.go        2026-06-01 16:22:45.000000000 
+0200
+++ new/jfrog-cli-2.107.0/docker_test.go        2026-06-03 14:38:50.000000000 
+0200
@@ -1573,3 +1573,71 @@
        }
        assert.Greater(t, artifactCount, 0, "No artifacts in build info")
 }
+
+// TestSetupDockerCommand verifies `jf setup docker --url ...` end-to-end.
+//
+// Guards RTECO-1352: configureContainer (in jfrog-cli-artifactory) used to 
read
+// ServerDetails.GetUrl(), which createServerDetailsFromFlags clears for the Rt
+// command domain after copying it into ArtifactoryUrl. On the --url invocation
+// path that left the registry host empty and routed `docker login ""` to 
Docker
+// Hub, producing a misleading 401. The corresponding fix in 
jfrog-cli-artifactory
+// derives the host from GetArtifactoryUrl() (with GetUrl() fallback for the
+// --server-id path) and asserts a non-empty host.
+//
+// This e2e test exercises the *exact* failure path — `--url` + 
`--access-token`
+// flags with no saved config — and verifies that the docker config file ends 
up
+// with an auth entry keyed by the Artifactory registry hostname.
+func TestSetupDockerCommand(t *testing.T) {
+       if !*tests.TestDocker {
+               t.Skip("Skipping setup docker test. To run it, add the 
'-test.docker=true' option.")
+       }
+
+       // Isolate the docker config to a temp dir so the test never touches the
+       // developer's ~/.docker/config.json. The docker CLI honors 
DOCKER_CONFIG
+       // as the config-file directory.
+       dockerConfigDir := t.TempDir()
+       t.Setenv("DOCKER_CONFIG", dockerConfigDir)
+
+       // Build credentials from the test globals. The --url path is what the 
bug
+       // hit, so pass it explicitly along with --access-token (or 
--user/--password)
+       // rather than relying on a saved server config.
+       artifactoryUrl := *tests.JfrogUrl + tests.ArtifactoryEndpoint
+       user := *tests.JfrogUser
+       credFlag := ""
+       switch {
+       case *tests.JfrogAccessToken != "":
+               credFlag = "--access-token=" + *tests.JfrogAccessToken
+               if user == "" {
+                       user = 
auth.ExtractUsernameFromAccessToken(*tests.JfrogAccessToken)
+               }
+       case *tests.JfrogPassword != "":
+               credFlag = "--password=" + *tests.JfrogPassword
+       default:
+               t.Skip("Skipping setup docker test: no JFrog credentials 
available.")
+       }
+
+       jfrogCli := coreTests.NewJfrogCli(execMain, "jfrog", "")
+       require.NoError(t, jfrogCli.Exec(
+               "setup", "docker",
+               "--url="+artifactoryUrl,
+               "--user="+user,
+               credFlag,
+               "--repo="+tests.DockerVirtualRepo,
+       ))
+
+       // Derive the expected registry host the same way the fix does: take the
+       // host component of the Artifactory URL.
+       parsedUrl, err := url.Parse(artifactoryUrl)
+       require.NoError(t, err)
+       expectedRegistryHost := parsedUrl.Host
+       require.NotEmpty(t, expectedRegistryHost, "Artifactory URL must have a 
host")
+
+       // Verify the docker config file was updated with an auth entry for the
+       // derived registry host. Before the fix the entry would have been 
keyed by
+       // an empty string (and the underlying `docker login` would have 
failed).
+       dockerConfigPath := filepath.Join(dockerConfigDir, "config.json")
+       contentBytes, err := os.ReadFile(dockerConfigPath)
+       require.NoError(t, err, "docker config file should be created by setup 
docker")
+       assert.Contains(t, string(contentBytes), expectedRegistryHost,
+               "docker config should contain the Artifactory registry host 
derived from --url")
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.106.0/go.mod new/jfrog-cli-2.107.0/go.mod
--- old/jfrog-cli-2.106.0/go.mod        2026-06-01 16:22:45.000000000 +0200
+++ new/jfrog-cli-2.107.0/go.mod        2026-06-03 14:38:50.000000000 +0200
@@ -3,6 +3,9 @@
 go 1.26.3
 
 replace (
+       // Should not be updated to 0.11.0+ due to default spec version change 
(1.6 -> 1.7, https://github.com/CycloneDX/cyclonedx-go/pull/257)
+       // Waiting for JPD to support the new spec version before allowing 
upgrade
+       github.com/CycloneDX/cyclonedx-go => github.com/CycloneDX/cyclonedx-go 
v0.10.0
        // Should not be updated to 0.2.6 due to a bug 
(https://github.com/jfrog/jfrog-cli-core/pull/372)
        github.com/c-bata/go-prompt => github.com/c-bata/go-prompt v0.2.5
        // Should not be updated to 0.2.0-beta.2 due to a bug 
(https://github.com/jfrog/jfrog-cli-core/pull/372)
@@ -18,10 +21,10 @@
        github.com/jfrog/build-info-go v1.13.1-0.20260528065004-80409c046540
        github.com/jfrog/gofrog v1.7.6
        github.com/jfrog/jfrog-cli-application 
v1.0.2-0.20260511133105-55a0ab56fd64
-       github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20260601110159-16e27949b870
+       github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20260603105750-3886c0f01286
        github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260601130310-8d52a530da18
-       github.com/jfrog/jfrog-cli-evidence v0.9.5-0.20260528121456-17c6218af996
-       github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20260430094150-ce7d9b371c6f
+       github.com/jfrog/jfrog-cli-evidence v0.9.5-0.20260601141509-8df6c9a4bc9b
+       github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20260601140139-4cefb6add7b7
        github.com/jfrog/jfrog-cli-security v1.29.3
        github.com/jfrog/jfrog-client-go v1.55.1-0.20260528115006-6ca9682a3255
        github.com/jszwec/csvutil v1.10.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.106.0/go.sum new/jfrog-cli-2.107.0/go.sum
--- old/jfrog-cli-2.106.0/go.sum        2026-06-01 16:22:45.000000000 +0200
+++ new/jfrog-cli-2.107.0/go.sum        2026-06-03 14:38:50.000000000 +0200
@@ -38,8 +38,8 @@
 github.com/BurntSushi/toml v1.5.0/go.mod 
h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
 github.com/BurntSushi/toml v1.6.0 
h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk=
 github.com/BurntSushi/toml v1.6.0/go.mod 
h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
-github.com/CycloneDX/cyclonedx-go v0.11.0 
h1:GokP8FiRC+foiuwWhSSLpSD5H4hSWtGnR3wo7apkBFI=
-github.com/CycloneDX/cyclonedx-go v0.11.0/go.mod 
h1:vUvbCXQsEm48OI6oOlanxstwNByXjCZ2wuleUlwGEO8=
+github.com/CycloneDX/cyclonedx-go v0.10.0 
h1:7xyklU7YD+CUyGzSFIARG18NYLsKVn4QFg04qSsu+7Y=
+github.com/CycloneDX/cyclonedx-go v0.10.0/go.mod 
h1:vUvbCXQsEm48OI6oOlanxstwNByXjCZ2wuleUlwGEO8=
 github.com/Masterminds/semver/v3 v3.5.0 
h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAwZ/2OOE=
 github.com/Masterminds/semver/v3 v3.5.0/go.mod 
h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
 github.com/Microsoft/go-winio v0.5.2/go.mod 
h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
@@ -412,14 +412,14 @@
 github.com/jfrog/jfrog-apps-config v1.0.1/go.mod 
h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w=
 github.com/jfrog/jfrog-cli-application v1.0.2-0.20260511133105-55a0ab56fd64 
h1:bxcy1v1LXQV4T0kVU1duWQr3h7vKfHyMD1B+IuFLWUw=
 github.com/jfrog/jfrog-cli-application 
v1.0.2-0.20260511133105-55a0ab56fd64/go.mod 
h1:cKqb/JgN+XuD4RhOxvSZnyGyXw3cJsTZfQT3rk9MCho=
-github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260601110159-16e27949b870 
h1:oRICL3VxTToKN7DqufQyOkU2HXBoTQg3F405qfulFHs=
-github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20260601110159-16e27949b870/go.mod 
h1:GQEGVW3wT1XPykXNsEiPQrF8/+01JvDVcGGYb5vqJuE=
+github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260603105750-3886c0f01286 
h1:IF9Fyhfd7hilnuHO2AezV3lE9SF2FSxRxs4gfcU3f1U=
+github.com/jfrog/jfrog-cli-artifactory 
v0.8.1-0.20260603105750-3886c0f01286/go.mod 
h1:GQEGVW3wT1XPykXNsEiPQrF8/+01JvDVcGGYb5vqJuE=
 github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260601130310-8d52a530da18 
h1:tPv7XscDFAZaijVwMQNb+HmuucUMYQdjuA5frdGzhF0=
 github.com/jfrog/jfrog-cli-core/v2 
v2.60.1-0.20260601130310-8d52a530da18/go.mod 
h1:9R90mhbczGXwW5EGlDs7F08ejQU/xdoDhYHMvzBiqgE=
-github.com/jfrog/jfrog-cli-evidence v0.9.5-0.20260528121456-17c6218af996 
h1:jFldEXM8i2G+iQDRMQZ1ZaEMF0H+D2mgG7gTVgQcbZg=
-github.com/jfrog/jfrog-cli-evidence 
v0.9.5-0.20260528121456-17c6218af996/go.mod 
h1:GhNJQSN9Xv4f0BKxurColafSBmI6V6DVdhlqRmX2+yw=
-github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20260430094150-ce7d9b371c6f 
h1:M1cesbKYSznwPA76dNctjCELxGx34TSSjwoYnJm9/6Y=
-github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20260430094150-ce7d9b371c6f/go.mod 
h1:JUdq/dQoNscpta62FDCAcaSVbvcCOr5VkH8UeGTG1HQ=
+github.com/jfrog/jfrog-cli-evidence v0.9.5-0.20260601141509-8df6c9a4bc9b 
h1:V0FxnU3xh29y8yJHWymm6rPr1MrjG1DdPQlr3ckImwk=
+github.com/jfrog/jfrog-cli-evidence 
v0.9.5-0.20260601141509-8df6c9a4bc9b/go.mod 
h1:t2luv7YHtrKe/Yf1xLZgLOkkiPtk1DsKj0OLXL2GwYo=
+github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20260601140139-4cefb6add7b7 
h1:wqOk6luH2NFVhK+3p7DyHCa0e5Prie4QQpo5hPyCFwI=
+github.com/jfrog/jfrog-cli-platform-services 
v1.10.1-0.20260601140139-4cefb6add7b7/go.mod 
h1:lVUeZtlvrLKJRsoSu8OPN9mJ+bfeq9zSESNYao2Jgo8=
 github.com/jfrog/jfrog-cli-security v1.29.3 
h1:cIoDn5NkhmrVANUr22H2IVwYjqeFTA+e61lb4qE+8X8=
 github.com/jfrog/jfrog-cli-security v1.29.3/go.mod 
h1:wTdl1sSLyq+TzOPnncxBBhqCKEqF2kp9l86k+Y5E3mM=
 github.com/jfrog/jfrog-client-go v1.55.1-0.20260528115006-6ca9682a3255 
h1:CIOMO1Hj5N6PaIu7sJZ9bPowcibkcaWDulM2R6LHO9o=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jfrog-cli-2.106.0/utils/cliutils/cli_consts.go 
new/jfrog-cli-2.107.0/utils/cliutils/cli_consts.go
--- old/jfrog-cli-2.106.0/utils/cliutils/cli_consts.go  2026-06-01 
16:22:45.000000000 +0200
+++ new/jfrog-cli-2.107.0/utils/cliutils/cli_consts.go  2026-06-03 
14:38:50.000000000 +0200
@@ -4,7 +4,7 @@
 
 const (
        // General CLI constants
-       CliVersion  = "2.106.0"
+       CliVersion  = "2.107.0"
        ClientAgent = "jfrog-cli-go"
 
        // CLI base commands constants:

++++++ jfrog-cli.obsinfo ++++++
--- /var/tmp/diff_new_pack.NjERpD/_old  2026-06-05 14:57:05.164331051 +0200
+++ /var/tmp/diff_new_pack.NjERpD/_new  2026-06-05 14:57:05.168331217 +0200
@@ -1,5 +1,5 @@
 name: jfrog-cli
-version: 2.106.0
-mtime: 1780323765
-commit: 74fc6011910b3f28aa40cf8d8b1cf731d1c0b16d
+version: 2.107.0
+mtime: 1780490330
+commit: 428741699957871b656f0df3e0b2942e8253de86
 

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

Reply via email to