Dashboard › cli › Distillation
9cb002d2-c9f5-4f15-8a66-2ccf14110839["lore_tm_v1_d-C76khjNYZBrxwIOBOhL3wl_-hGen5qlDjyXVIk0KY","lore_tm_v1_fYGMMcB9t6Qg9Q1q7tAvDmIy86zVQ_2QNkWUBo63tms"]
packages/cli/test/lib/delta-upgrade.mocked.test.ts updated stable delta fixtures from legacy getsentry/cli release tags such as "0.14.0" and "0.13.0" to Toolkit product-prefixed tags "cli@0.14.0" and "cli@0.13.0"; the patch URL changed from https://github.com/getsentry/cli/releases/download/0.14.0/${BINARY_NAME}.patch to https://github.com/getsentry/toolkit/releases/download/cli@0.14.0/${BINARY_NAME}.patch."excludes semantic prereleases from the %s stable source" for both Toolkit (source=undefined, prerelease "cli@0.14.0-dev.1", stable "cli@0.14.0") and legacy (source=LEGACY_UPGRADE_SOURCE, prerelease "0.14.0-dev.1", stable "0.14.0"); even when the semantic prerelease has prerelease: false, fetchRecentReleases(undefined, source) must return only normalized stable tag "0.14.0"."uses the selected legacy GitHub repository" verifying fetchRecentReleases(undefined, LEGACY_UPGRADE_SOURCE) requests exactly https://api.github.com/repos/getsentry/cli/releases?per_page=12."keeps stable resolution on the selected legacy source": resolveStableChain("0.13.0", "0.14.0", undefined, LEGACY_UPGRADE_SOURCE) resolves to null after HTTP 404, requests only https://api.github.com/repos/getsentry/cli/releases?per_page=12, and never accesses a URL containing getsentry/toolkit."cli@0.14.0" and "cli@0.13.0" while retaining normalized version digests such as sha256:${versionHex("0.14.0")}.const toolkitSource = UPGRADE_SOURCES[0]!; added coverage that a changelog can be null, that some paths issue no requests (expect(requestedUrls).toEqual([])), and that prefetched releases can be supplied."excludes semantic prereleases from stable changelogs" using stable Toolkit release "cli@0.21.0" with body "### Bug Fixes 🐛\n\n- Stable release" and toVersion: "0.21.0"."fetches nightly commits only from the explicitly selected Toolkit source".a84012184c79c2566c7466aa6beda5f767199218 include "uses the cached target only after a transport failure" and "uses the cached target after response body transport failure", both expecting output containing "Using cached target: 88.88.88"."never uses the cached target after %s" and verifies output does not contain "Using cached target" for response-dependent failures.nightlyVersionExists(version, source) obtains an anonymous token with getAnonymousToken(source), fetches manifest tag nightly-${version} via fetchManifest(..., source), validates it with validateNightlyManifestVersion(manifest, version), returns false only for GhcrManifestHttpError status 404, and rethrows all other errors.standaloneVersionExists(version, source?) uses the explicitly selected source when supplied: nightly versions delegate to nightlyVersionExists(version, source); stable versions fetch getGitHubReleaseByTagUrl(version, source) through fetchWithUpgradeError(..., "GitHub"), validate successful responses with validatePinnedGitHubRelease(response, version, source), return false on HTTP 404, and throw UpgradeError("network_error", \Failed to fetch from GitHub: HTTP ${response.status}`)for other unsuccessful statuses. Without a source, it returns whetherresolveExistingUpgradeVersion(version)` is non-null.versionExists(method, version, source?) routes nightly versions and installation methods "curl" or "brew" through standaloneVersionExists(version, source); other methods first call validateStableVersion(version, "Requested package version"), then issue a HEAD request to ${NPM_REGISTRY_URL}/${version} and return response.ok.DownloadResult contains required tempBinaryPath: string and lockPath: string, plus optional patchBytes?: number; the caller must hold and later release the download lock after the child exits.ResolveResult now preserves the selected upgrade source in both variants: { kind: "target"; target: string; source?: UpgradeSource } and { kind: "done"; result: UpgradeResult; source?: UpgradeSource }.resolvePinnedVersion(lookupMethod, target) uses versionExists(lookupMethod, target) for non-curl methods and throws UpgradeError("version_not_found", \Version ${target} not found`)when absent; for"curl", it resolves the version through resolveExistingUpgradeVersion(target), throws the same error if unresolved, and otherwise returns resolved.source`.resolveTargetVersion(opts) classifies an upgrade as standalone when channel === "nightly" or method is "curl"/"brew"; it strips VERSION_PREFIX_REGEX from a pinned non-channel version, uses "curl" to look up pinned nightly versions, resolves unpinned standalone targets through resolveLatestUpgradeVersion(channel), falls back to fetchLatestVersion(method, channel), and propagates latestResolution?.source.resolveTargetVersion(opts) returns { kind: "done", result: buildCheckResult(...), source }; when already at the target and neither forced nor changing channels, it returns an "up-to-date" result; otherwise it returns { kind: "target", target: resolvedTarget, source }.