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-07-01 16:59:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jfrog-cli (Old) and /work/SRC/openSUSE:Factory/.jfrog-cli.new.11887 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jfrog-cli" Wed Jul 1 16:59:32 2026 rev:45 rq:1362961 version:2.112.0 Changes: -------- --- /work/SRC/openSUSE:Factory/jfrog-cli/jfrog-cli.changes 2026-06-28 21:12:29.958160798 +0200 +++ /work/SRC/openSUSE:Factory/.jfrog-cli.new.11887/jfrog-cli.changes 2026-07-01 16:59:58.261585291 +0200 @@ -1,0 +2,28 @@ +Wed Jul 01 11:12:44 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 2.112.0: + * New Features + - [jfrog-cli-security] XRAY-145721 - Added fallback logic for + Poetry #783 (@Phavya-jfrog) + * Bug Fixes + - [jfrog-cli] Fix ghost frog install to honour default ModePass + tools #3579 (@ehl-jf) + - [jfrog-cli-security] Fix - Gradle dep tree references missing + output files #791 (@attiasas) + * Internal Changes + - [jfrog-cli-security] Update Xray lib plugin default version + to 1.4.0 #788 (@attiasas) + - [jfrog-cli-security] Update dependencies #792 (@attiasas) + * Other Changes + - [jfrog-cli-artifactory] XRAY-139364 - Automatically set VSC + properties from local git on uploaded artifacts #484 + (@attiasas) + - [jfrog-cli-security] XRAY-144147 Support Yarn v4 for curation + audit #778 (@gauriy-tech) + * Dependencies + - Bump actions/checkout in the github-actions group across 1 + directory (#3564) + - Bump github.com/moby/moby/api in the go group across 1 + directory (#3570) + +------------------------------------------------------------------- Old: ---- jfrog-cli-2.111.0.obscpio New: ---- jfrog-cli-2.112.0.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jfrog-cli.spec ++++++ --- /var/tmp/diff_new_pack.upOXEG/_old 2026-07-01 17:00:01.085683118 +0200 +++ /var/tmp/diff_new_pack.upOXEG/_new 2026-07-01 17:00:01.109683949 +0200 @@ -19,7 +19,7 @@ %define executable_name jf Name: jfrog-cli -Version: 2.111.0 +Version: 2.112.0 Release: 0 Summary: A client that automates access to the JFrog products License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.upOXEG/_old 2026-07-01 17:00:01.357692540 +0200 +++ /var/tmp/diff_new_pack.upOXEG/_new 2026-07-01 17:00:01.389693649 +0200 @@ -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.111.0</param> + <param name="revision">refs/tags/v2.112.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.upOXEG/_old 2026-07-01 17:00:01.533698637 +0200 +++ /var/tmp/diff_new_pack.upOXEG/_new 2026-07-01 17:00:01.537698775 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/jfrog/jfrog-cli.git</param> - <param name="changesrevision">3839dda911116172c8be225c904cddd6f563d223</param></service></servicedata> + <param name="changesrevision">e2e43b7dc3fa9875ae3e4754f1b85028375ae339</param></service></servicedata> (No newline at EOF) ++++++ jfrog-cli-2.111.0.obscpio -> jfrog-cli-2.112.0.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jfrog-cli-2.111.0/Jenkinsfile new/jfrog-cli-2.112.0/Jenkinsfile --- old/jfrog-cli-2.111.0/Jenkinsfile 2026-06-26 15:13:27.000000000 +0200 +++ new/jfrog-cli-2.112.0/Jenkinsfile 1970-01-01 01:00:00.000000000 +0100 @@ -1,620 +0,0 @@ -properties([ - parameters([ - stringParam(name: 'BRANCH', defaultValue: 'master', description: 'Git branch to checkout'), - booleanParam(name: 'RUN_BUILD_RPM', defaultValue: true, description: 'Run build RPM step'), - booleanParam(name: 'RUN_NPM_PACKAGE', defaultValue: true, description: 'Run NPM package publish'), - booleanParam(name: 'RUN_DOCKER_PUBLISH', defaultValue: true, description: 'Run Docker image publish'), - booleanParam(name: 'RUN_CREATE_TAG', defaultValue: true, description: 'Run createTag step'), - booleanParam(name: 'RUN_CHOCOLATEY', defaultValue: true, description: 'Run Chocolatey publish'), - booleanParam(name: 'RUN_LATEST_SCRIPT_PUBLISH', defaultValue: true, description: 'Run latest script publish'), - booleanParam(name: 'RUN_DISTRIBUTE_EXECUTABLE', defaultValue: true, description: 'Run distribute executable step'), - booleanParam(name: 'RUN_UPLOAD_CLI', defaultValue: true, description: 'Run uploadCli step'), - booleanParam(name: 'RUN_DARWIN_WORKFLOW', defaultValue: true, description: 'Run Darwin workflow (MacOS binaries signing)'), - booleanParam(name: 'RUN_AUDIT', defaultValue: true, description: 'Run Xray audit step') - ]) -]) - -node("docker-ubuntu24-xlarge") { - cleanWs() - // Subtract repo name from the repo url (https://REPO_NAME/ -> REPO_NAME/) - withCredentials([string(credentialsId: 'repo21-url', variable: 'REPO21_URL')]) { - echo "${REPO21_URL}" - def repo21Name = "${REPO21_URL}".substring(8, "${REPO21_URL}".length()) - env.REPO_NAME_21="$repo21Name" - } - def architectures = [ - [pkg: 'jfrog-cli-windows-amd64', goos: 'windows', goarch: 'amd64', fileExtension: '.exe', chocoImage: '${REPO_NAME_21}/jfrog-docker/chocolatey/choco'], - [pkg: 'jfrog-cli-linux-386', goos: 'linux', goarch: '386', fileExtension: '', debianImage: '${REPO_NAME_21}/jfrog-docker/i386/ubuntu:20.04', debianArch: 'i386'], - [pkg: 'jfrog-cli-linux-amd64', goos: 'linux', goarch: 'amd64', fileExtension: '', debianImage: '${REPO_NAME_21}/jfrog-docker/ubuntu:20.04', debianArch: 'x86_64', rpmImage: 'almalinux:8.10'], - [pkg: 'jfrog-cli-linux-arm64', goos: 'linux', goarch: 'arm64', fileExtension: ''], - [pkg: 'jfrog-cli-linux-arm', goos: 'linux', goarch: 'arm', fileExtension: ''], - [pkg: 'jfrog-cli-mac-386', goos: 'darwin', goarch: 'amd64', fileExtension: ''], - [pkg: 'jfrog-cli-mac-arm64', goos: 'darwin', goarch: 'arm64', fileExtension: ''], - [pkg: 'jfrog-cli-linux-s390x', goos: 'linux', goarch: 's390x', fileExtension: ''], - [pkg: 'jfrog-cli-linux-ppc64', goos: 'linux', goarch: 'ppc64', fileExtension: ''], - [pkg: 'jfrog-cli-linux-ppc64le', goos: 'linux', goarch: 'ppc64le', fileExtension: ''] - ] - - cliExecutableName = 'jf' - identifier = 'v2-jf' - nodeVersion = 'v8.17.0' - - releaseVersion = '' - - repo = 'jfrog-cli' - sh 'rm -rf temp' - sh 'mkdir temp' - def goRoot = tool 'go-1.26.3' - env.GOROOT="$goRoot" - env.PATH+=":${goRoot}/bin:/tmp/node-${nodeVersion}-linux-x64/bin" - env.GO111MODULE="on" - env.CI=true - env.JFROG_CLI_LOG_LEVEL="INFO" - env.JFROG_CLI_REPORT_USAGE="false" - - dir('temp') { - sh "cat /etc/lsb-release" - cliWorkspace = pwd() - sh "echo cliWorkspace=$cliWorkspace" - stage('Clone JFrog CLI sources') { - sh 'git clone https://github.com/jfrog/jfrog-cli.git' - dir("$repo") { - if (params.BRANCH?.trim()) { - sh "git checkout ${params.BRANCH}" - } - } - } - - stage('Configure git') { - sh """#!/bin/bash - git config --global user.email "[email protected]" - git config --global user.name "IL-Automation" - git config --global push.default simple - """ - } - - stage('Sync branches') { - setReleaseVersion() - validateReleaseVersion() - } - - stage('Install npm') { - installNpm(nodeVersion) - } - - stage('jf release phase') { - runRelease(architectures) - } - - stage('jfrog release phase') { - cliExecutableName = 'jfrog' - identifier = 'v2' - runRelease(architectures) - } - } -} - -def getCliVersion(exePath) { - version = sh(script: "$exePath -v | tr -d 'jfrog version' | tr -d '\n'", returnStdout: true) - return version -} - -def runRelease(architectures) { - stage('Build JFrog CLI') { - sh "echo Running release for executable name: '$cliExecutableName'" - - jfrogCliRepoDir = "${cliWorkspace}/${repo}/" - builderDir = "${cliExecutableName}-builder/" - sh "mkdir $builderDir" - builderPath = "${builderDir}${cliExecutableName}" - - sh 'go version' - dir("$jfrogCliRepoDir") { - sh "build/build.sh $cliExecutableName" - } - - sh "mv $jfrogCliRepoDir/$cliExecutableName $builderDir" - - version = getCliVersion(builderPath) - print "CLI version: $version" - } - - configRepo21() - - try { - if (identifier != "v2" && params.RUN_AUDIT) { - stage("Audit") { - dir("$jfrogCliRepoDir") { - sh """#!/bin/bash - set -e - if ! command -v unzip >/dev/null 2>&1 && ! command -v 7z >/dev/null 2>&1; then - apt-get update && apt-get install -y unzip - fi - ../$builderPath audit --fail=false - """ - } - } - } - - // We sign darwin binaries throughout GitHub actions to use MacOS machine, - // the binaries will be uploaded to GitHub packages - if (params.RUN_DARWIN_WORKFLOW) { - stage('Prepare Signed MacOS binaries') { - triggerDarwinBinariesSigningWorkflow() - } - } - - // We sign the binary also for the standalone Windows executable, and not just for Windows executable packaged inside Chocolaty. - if (params.RUN_CHOCOLATEY) { - downloadToolsCert() - } - if (params.RUN_UPLOAD_CLI) { - stage('Upload CLI') { - print "Uploading version $version to Repo21" - uploadCli(architectures) - } - } - - // Sequential execution of distribute and publish scripts after uploadCli completes - if (params.RUN_DISTRIBUTE_EXECUTABLE) { - stage("Distribute executables") { - distributeToReleases("ecosystem-jfrog-cli", version, "cli-rbc-spec.json") - } - } - if (params.RUN_LATEST_SCRIPT_PUBLISH) { - stage("Publish latest scripts") { - withCredentials([string(credentialsId: 'jfrog-cli-automation', variable: 'JFROG_CLI_AUTOMATION_ACCESS_TOKEN')]) { - options = "--url https://releases.jfrog.io/artifactory --access-token=$JFROG_CLI_AUTOMATION_ACCESS_TOKEN" - print "Copying latest scripts from jfrog-cli/$identifier/$version/scripts/ to jfrog-cli/$identifier/scripts/" - sh """#!/bin/bash - $builderPath rt cp jfrog-cli/$identifier/$version/scripts/getCli.sh jfrog-cli/$identifier/scripts/ --flat $options --fail-no-op - $builderPath rt cp jfrog-cli/$identifier/$version/scripts/install-cli.sh jfrog-cli/$identifier/scripts/ --flat $options --fail-no-op - """ - if (identifier == "v2-jf") { - sh """#!/bin/bash - $builderPath rt cp jfrog-cli/$identifier/$version/scripts/setup-cli.sh jfrog-cli/setup/scripts/getCli.sh --flat $options --fail-no-op - $builderPath rt cp "jfrog-cli/$identifier/$version/scripts/gitlab/(*)" "jfrog-cli/gitlab/{1}" $options --fail-no-op - """ - } - } - } - } - if (identifier == "v2" && params.RUN_CREATE_TAG) { - stage('Create a tag and a GitHub release') { - createTag() - } - } - - stage('Docker login') { - dockerLogin() - } - - if (params.RUN_BUILD_RPM) { - stage('Build and publish rpm and debian') { - buildRpmAndDeb(version, architectures) - } - } - - // Sequential execution of npm, docker, and chocolatey publishing after RPM/Debian build - if (params.RUN_NPM_PACKAGE) { - stage('Npm publish') { - publishNpmPackage(jfrogCliRepoDir) - } - } - if (params.RUN_DOCKER_PUBLISH) { - stage('Build and publish docker images') { - buildPublishDockerImages(version, jfrogCliRepoDir) - } - } - if (params.RUN_CHOCOLATEY) { - stage('Build and publish Chocolatey') { - publishChocoPackageWithRetries(version, jfrogCliRepoDir, architectures) - } - } - } finally { - cleanupRepo21() - } -} - -def setReleaseVersion() { - dir("$cliWorkspace/$repo") { - sh "build/build.sh" - releaseVersion = getCliVersion("./jf") - } -} - -def createTag() { - stage('Create a tag and a GitHub release') { - dir("$jfrogCliRepoDir") { - releaseTag = "v$releaseVersion" - withCredentials([string(credentialsId: 'ecosystem-github-automation', variable: 'GITHUB_ACCESS_TOKEN')]) { - sh """#!/bin/bash - git tag $releaseTag - git push "https://[email protected]/jfrog/jfrog-cli.git" --tags - """ - } - } - } -} - -def validateReleaseVersion() { - if (releaseVersion=="") { - error "releaseVersion parameter is empty" - } - if (releaseVersion.startsWith("v")) { - error "releaseVersion parameter should not start with a preceding \"v\"" - } - // Verify version stands in semantic versioning. - def pattern = /^2\.(\d+)\.(\d+)$/ - if (!(releaseVersion =~ pattern)) { - error "releaseVersion is not a valid version" - } -} - -def downloadToolsCert() { - stage('Download tools cert') { - // Download the certificate files, used for signing the JFrog CLI binary. - // To update the certificate before it is expired, download the digicert_sign.zip file and follow the instructions in the README file, which is packaged inside that zip. - sh """#!/bin/bash - $builderPath rt dl ecosys-installation-files/certificates/jfrog/digicert_sign.zip "${jfrogCliRepoDir}build/sign/" --flat --explode - """ - } -} - -// Config Repo21 as default server. -def configRepo21() { - withCredentials([ - // jfrog-ignore - false positive - usernamePassword(credentialsId: 'repo21', usernameVariable: 'REPO21_USER', passwordVariable: 'REPO21_PASSWORD'), - string(credentialsId: 'repo21-url', variable: 'REPO21_URL') - ]) { - sh """#!/bin/bash - $builderPath c add repo21 --url=$REPO21_URL --user=$REPO21_USER --password=$REPO21_PASSWORD --overwrite - $builderPath c use repo21 - """ - } -} - -def cleanupRepo21() { - sh """#!/bin/bash - $builderPath c rm repo21 - """ -} - -def buildRpmAndDeb(version, architectures) { - boolean built = false - withCredentials([file(credentialsId: 'rpm-gpg-key3', variable: 'rpmGpgKeyFile'), string(credentialsId: 'rpm-sign-passphrase', variable: 'rpmSignPassphrase')]) { - def dirPath = "${pwd()}/jfrog-cli/build/deb_rpm/${identifier}/pkg" - def gpgPassphraseFilePath = "$dirPath/RPM-GPG-PASSPHRASE-jfrog-cli" - writeFile(file: gpgPassphraseFilePath, text: "$rpmSignPassphrase") - - for (int i = 0; i < architectures.size(); i++) { - def currentBuild = architectures[i] - if (currentBuild.debianImage) { - stage("Build debian ${currentBuild.pkg}") { - build(currentBuild.goos, currentBuild.goarch, currentBuild.pkg, cliExecutableName) - dir("$jfrogCliRepoDir") { - sh "build/deb_rpm/$identifier/build-scripts/pack.sh -b $cliExecutableName -v $version -f deb --deb-arch $currentBuild.debianArch --deb-build-image $currentBuild.debianImage -t --deb-test-image $currentBuild.debianImage" - built = true - } - } - } - if (currentBuild.rpmImage) { - stage("Build rpm ${currentBuild.pkg}") { - build(currentBuild.goos, currentBuild.goarch, currentBuild.pkg, cliExecutableName) - dir("$jfrogCliRepoDir") { - sh """#!/bin/bash - build/deb_rpm/$identifier/build-scripts/pack.sh -b $cliExecutableName -v $version -f rpm --rpm-build-image $currentBuild.rpmImage -t --rpm-test-image $currentBuild.rpmImage --rpm-gpg-key-file /$rpmGpgKeyFile --rpm-gpg-passphrase-file $gpgPassphraseFilePath - """ - built = true - } - } - } - } - - if (built) { - stage("Deploy deb and rpm") { - def packageName = "jfrog-cli-$identifier" - sh """#!/bin/bash - $builderPath rt u $jfrogCliRepoDir/build/deb_rpm/$identifier/*.i386.deb ecosys-jfrog-debs/pool/$packageName/ --deb=xenial,bionic,eoan,focal,jammy,noble/contrib/i386 --flat - $builderPath rt u $jfrogCliRepoDir/build/deb_rpm/$identifier/*.x86_64.deb ecosys-jfrog-debs/pool/$packageName/ --deb=xenial,bionic,eoan,focal,jammy,noble/contrib/amd64 --flat - $builderPath rt u $jfrogCliRepoDir/build/deb_rpm/$identifier/*.rpm ecosys-jfrog-rpms/$packageName/ --flat - """ - } - stage("Distribute deb-rpm to releases") { - distributeToReleases("ecosystem-cli-deb-rpm", version, "deb-rpm-rbc-spec.json") - } - } - } -} - -def uploadCli(architectures) { - stage("Publish scripts") { - uploadGetCliToJfrogRepo21() - uploadInstallCliToJfrogRepo21() - if (cliExecutableName == 'jf') { - uploadSetupCliToJfrogRepo21() - uploadGitLabSetupToJfrogRepo21() - } - } - for (int i = 0; i < architectures.size(); i++) { - def currentBuild = architectures[i] - stage("Build and upload ${currentBuild.pkg}") { - // MacOS binaries should be downloaded from GitHub packages, as they are signed there. - if (currentBuild.goos == 'darwin') { - if (params.RUN_DARWIN_WORKFLOW) { - uploadSignedDarwinBinaries(currentBuild.goarch,currentBuild.pkg) - } - } else { - buildAndUpload(currentBuild.goos, currentBuild.goarch, currentBuild.pkg, currentBuild.fileExtension) - } - } - } -} - -def buildPublishDockerImages(version, jfrogCliRepoDir) { - def repo21Prefix = "${REPO_NAME_21}/ecosys-docker-local" - def images = [ - [dockerFile:'build/docker/slim/Dockerfile', name:"jfrog/jfrog-cli-${identifier}"], - [dockerFile:'build/docker/full/Dockerfile', name:"jfrog/jfrog-cli-full-${identifier}"] - ] - // Build all images - for (int i = 0; i < images.size(); i++) { - def currentImage = images[i] - def imageRepo21Name = "$repo21Prefix/$currentImage.name" - print "Building and pushing docker image: $imageRepo21Name" - buildDockerImage(imageRepo21Name, version, currentImage.dockerFile, jfrogCliRepoDir) - pushDockerImageVersion(imageRepo21Name, version) - } - stage("Distribute cli-docker-images to releases") { - distributeToReleases("ecosystem-cli-docker-images", version, "docker-images-rbc-spec.json") - } - stage("Promote docker images") { - for (int i = 0; i < images.size(); i++) { - def currentImage = images[i] - promoteDockerImage(currentImage.name, version, jfrogCliRepoDir) - } - } -} - -def promoteDockerImage(name, version, jfrogCliRepoDir) { - print "Promoting docker image: $name" - withCredentials([string(credentialsId: 'jfrog-cli-automation', variable: 'JFROG_CLI_AUTOMATION_ACCESS_TOKEN')]) { - options = "--url https://releases.jfrog.io/artifactory --access-token=$JFROG_CLI_AUTOMATION_ACCESS_TOKEN" - sh """#!/bin/bash - $builderPath rt docker-promote $name reg2 reg2 --copy --source-tag=$version --target-tag=latest $options - """ - } -} - -def buildDockerImage(name, version, dockerFile, jfrogCliRepoDir) { - dir("$jfrogCliRepoDir") { - sh """#!/bin/bash - docker build --build-arg cli_executable_name=$cliExecutableName --build-arg repo_name_21=$REPO_NAME_21 --tag=$name:$version -f $dockerFile . - """ - } -} - -def pushDockerImageVersion(name, version) { - sh """#!/bin/bash - $builderPath rt docker-push $name:$version ecosys-docker-local - """ -} - -def uploadGetCliToJfrogRepo21() { - print "Uploading $jfrogCliRepoDir/build/getcli/${cliExecutableName}.sh to ecosys-jfrog-cli/$identifier/$version/scripts/getCli.sh" - sh """#!/bin/bash - $builderPath rt u $jfrogCliRepoDir/build/getcli/${cliExecutableName}.sh ecosys-jfrog-cli/$identifier/$version/scripts/getCli.sh --flat - """ -} - -def uploadInstallCliToJfrogRepo21() { - print "Uploading $jfrogCliRepoDir/build/installcli/${cliExecutableName}.sh to ecosys-jfrog-cli/$identifier/$version/scripts/install-cli.sh" - sh """#!/bin/bash - $builderPath rt u $jfrogCliRepoDir/build/installcli/${cliExecutableName}.sh ecosys-jfrog-cli/$identifier/$version/scripts/install-cli.sh --flat - """ -} - -def uploadSetupCliToJfrogRepo21() { - print "Uploading $jfrogCliRepoDir/build/setupcli/${cliExecutableName}.sh to ecosys-jfrog-cli/$identifier/$version/scripts/setup-cli.sh" - sh """#!/bin/bash - $builderPath rt u $jfrogCliRepoDir/build/setupcli/${cliExecutableName}.sh ecosys-jfrog-cli/$identifier/$version/scripts/setup-cli.sh --flat - """ -} - -def uploadGitLabSetupToJfrogRepo21() { - print "Uploading $jfrogCliRepoDir/build/gitlab/(*) to ecosys-jfrog-cli/$identifier/$version/scripts/gitlab/{1}" - sh """#!/bin/bash - $builderPath rt u "$jfrogCliRepoDir/build/gitlab/(*)" "ecosys-jfrog-cli/$identifier/$version/scripts/gitlab/{1}" - """ -} - -def uploadBinaryToJfrogRepo21(pkg, fileName) { - print "Uploading $jfrogCliRepoDir/$fileName to ecosys-jfrog-cli/$identifier/$version/$pkg/" - sh """#!/bin/bash - $builderPath rt u $jfrogCliRepoDir/$fileName ecosys-jfrog-cli/$identifier/$version/$pkg/ --flat - """ -} - -def build(goos, goarch, pkg, fileName) { - dir("${jfrogCliRepoDir}") { - env.GOOS="$goos" - env.GOARCH="$goarch" - print "Building $fileName on $goos $goarch" - sh "build/build.sh $fileName" - sh "chmod +x $fileName" - // Remove goos and goarch env var to prevent interfering with following builds. - env.GOOS="" - env.GOARCH="" - - if (goos == 'windows' && params.RUN_CHOCOLATEY) { - dir("${jfrogCliRepoDir}build/sign") { - // Move the jfrog executable into the 'sign' directory, so that it is signed there. - sh "mv ${jfrogCliRepoDir}${fileName} ${fileName}.unsigned" - sh "docker build -t jfrog-cli-sign-tool ." - // Run the built image in order to signs the JFrog CLI binary. - sh "docker run -v ${jfrogCliRepoDir}build/sign/:/home/frogger jfrog-cli-sign-tool -in ${fileName}.unsigned -out $fileName" - // Move the JFrog CLI binary from the 'sign' directory, back to its original location. - sh "mv $fileName $jfrogCliRepoDir" - } - } - } -} - -def buildAndUpload(goos, goarch, pkg, fileExtension) { - def extension = fileExtension == null ? '' : fileExtension - def fileName = "$cliExecutableName$fileExtension" - - build(goos, goarch, pkg, fileName) - uploadBinaryToJfrogRepo21(pkg, fileName) - sh "rm $jfrogCliRepoDir/$fileName" -} - -def distributeToReleases(stage, version, rbcSpecName) { - sh """#!/bin/bash - output=\$($builderPath ds rbc $stage-rb-$identifier $version --spec=${cliWorkspace}/${repo}/build/release_specs/$rbcSpecName --spec-vars="VERSION=$version;IDENTIFIER=$identifier" --sign 2>&1) - exit_code=\$? - if [[ \$exit_code -ne 0 ]]; then - if echo "\$output" | grep -q "already exists"; then - echo "Release bundle creation skipped - already exists" - exit 0 - else - echo "\$output" - exit \$exit_code - fi - else - echo "\$output" - fi - """ - sh "$builderPath ds rbd $stage-rb-$identifier $version --site=releases.jfrog.io --sync" -} - -def publishNpmPackage(jfrogCliRepoDir) { - dir(jfrogCliRepoDir+"build/npm/$identifier") { - withCredentials([string(credentialsId: 'npm-authorization', variable: 'NPM_AUTH_TOKEN')]) { - sh '''#!/bin/bash - echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > .npmrc - echo "registry=https://registry.npmjs.org" >> .npmrc - output=$(npm publish 2>&1) - exit_code=$? - if [[ $exit_code -ne 0 ]]; then - if echo "$output" | grep -qi "You cannot publish over the previously published versions"; then - echo "NPM package publish skipped - already exists" - exit 0 - else - echo "$output" - exit $exit_code - fi - else - echo "$output" - fi - ''' - } - } -} - -def installNpm(nodeVersion) { - dir('/tmp') { - sh """#!/bin/bash - apt update - apt install wget -y - echo "Downloading npm..." - wget https://nodejs.org/dist/${nodeVersion}/node-${nodeVersion}-linux-x64.tar.xz - tar -xf node-${nodeVersion}-linux-x64.tar.xz - """ - } -} - -def publishChocoPackageWithRetries(version, jfrogCliRepoDir, architectures) { - def architecture = architectures.find { it.goos == 'windows' && it.goarch == 'amd64' } - build(architecture.goos, architecture.goarch, architecture.pkg, "${cliExecutableName}.exe") - - def maxAttempts = 10 - def currentAttempt = 1 - def waitSeconds = 18 - - while (currentAttempt <= maxAttempts) { - try { - publishChocoPackage(version, jfrogCliRepoDir, architecture) - echo "Successfully published Choco package!" - return - } catch (Exception e) { - echo "Publishing Choco failed on attempt ${currentAttempt}" - currentAttempt++ - if (currentAttempt > maxAttempts) { - error "Max attempts reached. Publishing Choco failed!" - return - } - sleep waitSeconds - } - } -} - -def publishChocoPackage(version, jfrogCliRepoDir, architecture) { - def packageName = "jfrog-cli" - if (cliExecutableName == 'jf') { - packageName="${packageName}-v2-jf" - } - print "Choco package name: $packageName" - dir(jfrogCliRepoDir+"build/chocolatey/$identifier") { - withCredentials([string(credentialsId: 'choco-api-key', variable: 'CHOCO_API_KEY')]) { - sh """#!/bin/bash - cp $jfrogCliRepoDir/${cliExecutableName}.exe $jfrogCliRepoDir/build/chocolatey/$identifier/tools - cp $jfrogCliRepoDir/LICENSE $jfrogCliRepoDir/build/chocolatey/$identifier/tools - docker run -v \$PWD:/work -w /work $architecture.chocoImage choco pack version=$version - output=\$(docker run -v \$PWD:/work -w /work $architecture.chocoImage choco push --source='https://push.chocolatey.org/' --apiKey \$CHOCO_API_KEY ${packageName}.${version}.nupkg 2>&1) - exit_code=\$? - echo "\$output" - if [[ \$exit_code -ne 0 ]]; then - if echo "\$output" | grep -qi "already exists"; then - echo "Choco package publish skipped - $packageName $version already exists" - exit 0 - else - exit \$exit_code - fi - fi - """ - } - } -} - -def dockerLogin(){ - withCredentials([ - // jfrog-ignore - false positive - usernamePassword(credentialsId: 'repo21', usernameVariable: 'REPO21_USER', passwordVariable: 'REPO21_PASSWORD'), - string(credentialsId: 'repo21-url', variable: 'REPO21_URL') - ]) { - sh "echo $REPO21_PASSWORD | docker login $REPO_NAME_21 -u=$REPO21_USER --password-stdin" - } -} - - -/** - * Triggers Github action that signs and notarize the MacOS binaries. - * The artifacts will be uploaded to Github artifacts - */ -def triggerDarwinBinariesSigningWorkflow() { - withCredentials([string(credentialsId: 'ecosystem-github-automation', variable: "GITHUB_ACCESS_TOKEN")]) { - stage("Sign MacOS binaries") { - sh ('export GITHUB_ACCESS_TOKEN=$GITHUB_ACCESS_TOKEN') - sh """#!/bin/bash - chmod +x ${repo}/build/apple_release/scripts/trigger-sign-mac-OS-workflow.sh - bash ${repo}/build/apple_release/scripts/trigger-sign-mac-OS-workflow.sh ${cliExecutableName} ${releaseVersion} - """ - } - } -} - -/** - * Uploads signed darwin binaries from Github artifacts and uploads to releases - */ -def uploadSignedDarwinBinaries(goarch,pkg) { - withCredentials([string(credentialsId: 'ecosystem-github-automation', variable: "GITHUB_ACCESS_TOKEN")]) { - sh('export GITHUB_ACCESS_TOKEN=$GITHUB_ACCESS_TOKEN') - sh """#!/bin/bash - chmod +x ${repo}/build/apple_release/scripts/download-signed-mac-OS-binaries.sh - ${repo}/build/apple_release/scripts/download-signed-mac-OS-binaries.sh ${cliExecutableName} ${releaseVersion} ${goarch} - $builderPath rt u ./${cliExecutableName} ecosys-jfrog-cli/$identifier/$version/${pkg}/ --flat - """ - } -} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jfrog-cli-2.111.0/build/npm/v2/package-lock.json new/jfrog-cli-2.112.0/build/npm/v2/package-lock.json --- old/jfrog-cli-2.111.0/build/npm/v2/package-lock.json 2026-06-26 15:13:27.000000000 +0200 +++ new/jfrog-cli-2.112.0/build/npm/v2/package-lock.json 2026-07-01 11:24:06.000000000 +0200 @@ -1,5 +1,5 @@ { "name": "jfrog-cli-v2", - "version": "2.111.0", + "version": "2.112.0", "lockfileVersion": 2 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jfrog-cli-2.111.0/build/npm/v2/package.json new/jfrog-cli-2.112.0/build/npm/v2/package.json --- old/jfrog-cli-2.111.0/build/npm/v2/package.json 2026-06-26 15:13:27.000000000 +0200 +++ new/jfrog-cli-2.112.0/build/npm/v2/package.json 2026-07-01 11:24:06.000000000 +0200 @@ -1,6 +1,6 @@ { "name": "jfrog-cli-v2", - "version": "2.111.0", + "version": "2.112.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.111.0/build/npm/v2-jf/package-lock.json new/jfrog-cli-2.112.0/build/npm/v2-jf/package-lock.json --- old/jfrog-cli-2.111.0/build/npm/v2-jf/package-lock.json 2026-06-26 15:13:27.000000000 +0200 +++ new/jfrog-cli-2.112.0/build/npm/v2-jf/package-lock.json 2026-07-01 11:24:06.000000000 +0200 @@ -1,5 +1,5 @@ { "name": "jfrog-cli-v2-jf", - "version": "2.111.0", + "version": "2.112.0", "lockfileVersion": 1 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jfrog-cli-2.111.0/build/npm/v2-jf/package.json new/jfrog-cli-2.112.0/build/npm/v2-jf/package.json --- old/jfrog-cli-2.111.0/build/npm/v2-jf/package.json 2026-06-26 15:13:27.000000000 +0200 +++ new/jfrog-cli-2.112.0/build/npm/v2-jf/package.json 2026-07-01 11:24:06.000000000 +0200 @@ -1,6 +1,6 @@ { "name": "jfrog-cli-v2-jf", - "version": "2.111.0", + "version": "2.112.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.111.0/go.mod new/jfrog-cli-2.112.0/go.mod --- old/jfrog-cli-2.111.0/go.mod 2026-06-26 15:13:27.000000000 +0200 +++ new/jfrog-cli-2.112.0/go.mod 2026-07-01 11:24:06.000000000 +0200 @@ -21,14 +21,14 @@ github.com/jfrog/build-info-go v1.13.1-0.20260615080618-42488b58c305 github.com/jfrog/gofrog v1.7.6 github.com/jfrog/jfrog-cli-application v1.0.2-0.20260621072921-cadb78770a3e - github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260623062654-89dd771ef4de + github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260701085637-6ba50cd3676f github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260624085155-5ba797de2616 github.com/jfrog/jfrog-cli-evidence v0.9.5-0.20260618135203-4d2bdd4ee35f github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20260618062042-6053ab368cab - github.com/jfrog/jfrog-cli-security v1.31.0 + github.com/jfrog/jfrog-cli-security v1.31.1 github.com/jfrog/jfrog-client-go v1.55.1-0.20260624085832-de0c68a23c43 github.com/jszwec/csvutil v1.10.0 - github.com/moby/moby/api v1.54.2 + github.com/moby/moby/api v1.55.0 github.com/spf13/viper v1.21.0 github.com/stretchr/testify v1.11.1 github.com/testcontainers/testcontainers-go v0.42.0 @@ -135,7 +135,7 @@ github.com/in-toto/in-toto-golang v0.11.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jedib0t/go-pretty/v6 v6.8.0 // indirect - github.com/jfrog/froggit-go v1.22.0 // indirect + github.com/jfrog/froggit-go v1.23.0 // indirect github.com/jfrog/go-mockhttp v0.3.1 // indirect github.com/jfrog/jfrog-apps-config v1.0.1 // indirect github.com/kevinburke/ssh_config v1.6.0 // indirect diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jfrog-cli-2.111.0/go.sum new/jfrog-cli-2.112.0/go.sum --- old/jfrog-cli-2.111.0/go.sum 2026-06-26 15:13:27.000000000 +0200 +++ new/jfrog-cli-2.112.0/go.sum 2026-07-01 11:24:06.000000000 +0200 @@ -396,8 +396,8 @@ github.com/jfrog/archiver/v3 v3.6.3/go.mod h1:5V9l+Fte30Y4qe9dUOAd3yNTf8lmtVNuhKNrvI8PMhg= github.com/jfrog/build-info-go v1.13.1-0.20260615080618-42488b58c305 h1:q7/hTPm6ibQf45CztScTgPb8cAmKIeQ9im0ClISsq7Y= github.com/jfrog/build-info-go v1.13.1-0.20260615080618-42488b58c305/go.mod h1:CYRUCvLKfyARjoJXLWAxce1qNUxTEtbRKAARkV42vpE= -github.com/jfrog/froggit-go v1.22.0 h1:eeN5F8sOUo+h2cXkzArAu4nvSdjkDTAZtgqwrct70qg= -github.com/jfrog/froggit-go v1.22.0/go.mod h1:wRDryqyp3oe+eHgME2mpnEQmO8XBECIPagFwj0nHmdI= +github.com/jfrog/froggit-go v1.23.0 h1:HGNIP9ZqoXKXHQONazhCENqIrFLfc8J3aX/F0QelQ2s= +github.com/jfrog/froggit-go v1.23.0/go.mod h1:wRDryqyp3oe+eHgME2mpnEQmO8XBECIPagFwj0nHmdI= github.com/jfrog/go-mockhttp v0.3.1 h1:/wac8v4GMZx62viZmv4wazB5GNKs+GxawuS1u3maJH8= github.com/jfrog/go-mockhttp v0.3.1/go.mod h1:LmKHex73SUZswM8ANS8kPxLihTOvtq44HVcCoTJKuqc= github.com/jfrog/gofrog v1.7.6 h1:QmfAiRzVyaI7JYGsB7cxfAJePAZTzFz0gRWZSE27c6s= @@ -406,16 +406,16 @@ github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w= github.com/jfrog/jfrog-cli-application v1.0.2-0.20260621072921-cadb78770a3e h1:jUfQzLCVbUazw7FEXf3+57vQheDSHa/Px/Gp4pf/sNI= github.com/jfrog/jfrog-cli-application v1.0.2-0.20260621072921-cadb78770a3e/go.mod h1:p8yLtbmCxxQucIbLZKnWu0F+EDtj6NLXbRQCEK/nb6o= -github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260623062654-89dd771ef4de h1:q2w1NMXsFQpcTCC++f0aLbzIvGovHXBpRpeBQWRpGLE= -github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260623062654-89dd771ef4de/go.mod h1:VqV0Bed11HoBlugAEGa3RumbwnDVslEf0gKocTzLs9s= +github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260701085637-6ba50cd3676f h1:PMq0iTjH/H40BEL/RzBwXFt7JMb+CQBaVmScdbZaeRI= +github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260701085637-6ba50cd3676f/go.mod h1:VqV0Bed11HoBlugAEGa3RumbwnDVslEf0gKocTzLs9s= github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260624085155-5ba797de2616 h1:bioFXGzf3pF2qnC3LZD1S1saWiHSekL4vdsDSWksj/4= github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260624085155-5ba797de2616/go.mod h1:9R90mhbczGXwW5EGlDs7F08ejQU/xdoDhYHMvzBiqgE= github.com/jfrog/jfrog-cli-evidence v0.9.5-0.20260618135203-4d2bdd4ee35f h1:MV4BATdkEoUYJmdPDvaB9EBb8JQZg28n/K4X7dcmyAY= github.com/jfrog/jfrog-cli-evidence v0.9.5-0.20260618135203-4d2bdd4ee35f/go.mod h1:t2luv7YHtrKe/Yf1xLZgLOkkiPtk1DsKj0OLXL2GwYo= github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20260618062042-6053ab368cab h1:Zn/qB8LYhSu82YDtbqXwErN1RPHTHe/a3gQY6Ti/OBE= github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20260618062042-6053ab368cab/go.mod h1:lVUeZtlvrLKJRsoSu8OPN9mJ+bfeq9zSESNYao2Jgo8= -github.com/jfrog/jfrog-cli-security v1.31.0 h1:YvFzfX29k0jonh2HrgQYqoje+nfyv36dR5ED/9rSZHY= -github.com/jfrog/jfrog-cli-security v1.31.0/go.mod h1:TVQqBGnvVqCO6+CebV+JkOM/LgisdHv4oK3gCFDkKg8= +github.com/jfrog/jfrog-cli-security v1.31.1 h1:rsUznIddC6NnQxBF8nBRTrnwP0MbsETjqpUbYDfl4Vw= +github.com/jfrog/jfrog-cli-security v1.31.1/go.mod h1:XbeN5hFnbn/cj9YQ2ym2uxKgnRqj0HNfq6haJIYupdk= github.com/jfrog/jfrog-client-go v1.55.1-0.20260624085832-de0c68a23c43 h1:akoiWauP27YxVXcRkCC8ahgDLxqiARUAVEB+KUPO2OE= github.com/jfrog/jfrog-client-go v1.55.1-0.20260624085832-de0c68a23c43/go.mod h1:FHpjN1nTDoj96xd6obe27EOgGErqzU0rQgC96L3Ch9E= github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94= @@ -485,8 +485,8 @@ github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/go-archive v0.2.0 h1:zg5QDUM2mi0JIM9fdQZWC7U8+2ZfixfTYoHL7rWUcP8= github.com/moby/go-archive v0.2.0/go.mod h1:mNeivT14o8xU+5q1YnNrkQVpK+dnNe/K6fHqnTg4qPU= -github.com/moby/moby/api v1.54.2 h1:wiat9QAhnDQjA7wk1kh/TqHz2I1uUA7M7t9SAl/JNXg= -github.com/moby/moby/api v1.54.2/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs= +github.com/moby/moby/api v1.55.0 h1:2/sexvQyqIWS8pRSCFddBfpW2qE7vR7FCL+vN8pxwMc= +github.com/moby/moby/api v1.55.0/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs= github.com/moby/moby/client v0.4.1 h1:DMQgisVoMkmMs7fp3ROSdiBnoAu8+vo3GggFl06M/wY= github.com/moby/moby/client v0.4.1/go.mod h1:z52C9O2POPOsnxZAy//WtKcQ32P+jT/NGeXu/7nfjGQ= github.com/moby/patternmatcher v0.6.1 h1:qlhtafmr6kgMIJjKJMDmMWq7WLkKIo23hsrpR3x084U= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jfrog-cli-2.111.0/packagealias/install.go new/jfrog-cli-2.112.0/packagealias/install.go --- old/jfrog-cli-2.111.0/packagealias/install.go 2026-06-26 15:13:27.000000000 +0200 +++ new/jfrog-cli-2.112.0/packagealias/install.go 2026-07-01 11:24:06.000000000 +0200 @@ -107,7 +107,11 @@ for _, tool := range selectedTools { if _, exists := cfg.ToolModes[tool]; !exists { - cfg.ToolModes[tool] = ModeJF + if _, isDefaultPass := defaultPassTools[tool]; isDefaultPass { + cfg.ToolModes[tool] = ModePass + } else { + cfg.ToolModes[tool] = ModeJF + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jfrog-cli-2.111.0/utils/cliutils/cli_consts.go new/jfrog-cli-2.112.0/utils/cliutils/cli_consts.go --- old/jfrog-cli-2.111.0/utils/cliutils/cli_consts.go 2026-06-26 15:13:27.000000000 +0200 +++ new/jfrog-cli-2.112.0/utils/cliutils/cli_consts.go 2026-07-01 11:24:06.000000000 +0200 @@ -4,7 +4,7 @@ const ( // General CLI constants - CliVersion = "2.111.0" + CliVersion = "2.112.0" ClientAgent = "jfrog-cli-go" // CLI base commands constants: ++++++ jfrog-cli.obsinfo ++++++ --- /var/tmp/diff_new_pack.upOXEG/_old 2026-07-01 17:00:04.261792955 +0200 +++ /var/tmp/diff_new_pack.upOXEG/_new 2026-07-01 17:00:04.305794449 +0200 @@ -1,5 +1,5 @@ name: jfrog-cli -version: 2.111.0 -mtime: 1782479607 -commit: 3839dda911116172c8be225c904cddd6f563d223 +version: 2.112.0 +mtime: 1782897846 +commit: e2e43b7dc3fa9875ae3e4754f1b85028375ae339 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/jfrog-cli/vendor.tar.gz /work/SRC/openSUSE:Factory/.jfrog-cli.new.11887/vendor.tar.gz differ: char 13, line 1
