Document stale latest CLI when using download-repository - #346
Conversation
Log an info line for that combination so CI can pin a version instead of relying on generic [RELEASE].
About the red
|
agrasth
left a comment
There was a problem hiding this comment.
Quick summary in plain terms, from a close read of this PR:
- This PR is docs + one log line only — it does not fix the actual bug in #347 (the stale
latestCLI problem). That part of the code is confirmed unchanged, which matches what the PR description already says. - The PR description says macOS was "removed" from the CI test matrix, but
os: [ ubuntu, windows, macos ](line 25) is actually unchanged — macOS is only skipped step-by-step withifchecks, not excluded. So every run still spins up a macOS runner that does basically nothing before exiting, instead of not spinning one up at all. - A few other things below, on the exact lines.

Overview
Related to #347. Does not close that issue. Tracking Jira: RTECO-2310.
version: latestis not resolved to a version number. It becomes the literal path segment[RELEASE]in the download URL (v2/[RELEASE]/jfrog-cli-.../jfrog). When the repository has Store Artifacts Locally enabled (the default), the binary returned for that path is cached under it, so later runs can keep receiving that same binary instead of a newer CLI. Caching is exactly right for a concrete version such as2.123.0, where the path is immutable.This PR documents that behavior and prints one plain
core.infoline. It does not change URL construction, authentication, downloading, caching, exit status, or failure behavior.Details
v2/[RELEASE]path and recommend a concreteX.Y.Z(same tone in the version section and in the Artifactory download note).action.yml: same guidance on theversionanddownload-repositoryinputs, phrased as a recommendation rather than a prohibition, since it only applies when the repository stores artifacts locally.latestanddownload-repositoryare set. Pinned versions and direct public downloads stay unchanged and silent.Safety
The production TypeScript path adds two string comparisons and
core.info, which writes a normal line to stdout. There are no new throws,core.setFailed, error/warning annotations, network requests, authentication calls, or changes to the CLI URL.The generated
lib/utils.jsalso picks up an existing TypeScript/JavaScript drift on master:setupPackageAliasIfRequestedalready usedcore.addPathinsrc/utils.ts, while compiledlib/utils.jsstill wroteGITHUB_PATHwithappendFileSync. Recompiling aligns the published JS with source. That is not a new TypeScript behavior in this PR.Follow-up: Auto-Build CI
Auto-Build-Publish is red for two independent reasons, neither from the docs/
core.infochange:install-go-with-cache@mainafter jfrog/.github#28 requiresgo.mod. This repo is a Node action.pull_request_targetruns the master workflow YAML, so pinninggo-versionhere does not fix the current labeled run until that YAML is on master or the shared action falls back (opened onjfrog/.github).local-rt-setup's 1200s wait. Same skip as jfrog-cli (JGC-413).macosis omitted from the Auto-Build matrix so the job does not provision a runner that then no-ops (or hitsgacts/run-and-post-runpost).This PR now also pins
go-version: "1.24"(whatlocal-rt-setupneeds) on Auto-Build and Frogbot Scan Repository.Real fix
Issue #347 / RTECO-2310 tracks resolving
latestto a concrete version so each version is cached under its own immutable path, with the constraints that existing successful workflows must keep working and downloads must stay insidedownload-repository.