Dashboard › cli › Distillation
c92c3498-6de2-4ad6-8499-e2dbb69b384a["lore_tm_v1_YJH4Z5GMPKQAyXkU1qRkV0TSwPeijQdLLoqEArnre8Y","lore_tm_v1_LrnegKsG7AVI1jlHNQ4qZAD8GMXlDqPcCvAv7P5lCw0","lore_tm_v1_uZdBes5cQgUdiDluK9Nqpt-HO_fUupz8mDnJ91kuoX4"]
Date: September 9, 2026
fetchLatestFromGitHub references: call site packages/cli/src/lib/version-check.ts:287, definition packages/cli/src/lib/upgrade.ts:399, and another call site packages/cli/src/lib/upgrade.ts:506.packages/cli/test/lib/binary.test.ts imports and tests resolveUpgradeSource, UPGRADE_SOURCES, and source-aware getGitHubReleaseByTagUrl.packages/cli/test/lib/binary.test.ts verifies default getBinaryDownloadUrl("1.0.0") starts with https://github.com/getsentry/toolkit/releases/download/, contains /cli@1.0.0/ and sentry-, and includes architecture arm64 when process.arch === "arm64" or otherwise x64.packages/cli/test/lib/binary.test.ts verifies getBinaryDownloadUrl("2.0.0") ends in .exe only when process.platform === "win32".resolveUpgradeSource test coverage in packages/cli/test/lib/binary.test.ts: 1. first source success makes only https://api.github.com/repos/getsentry/toolkit/releases/tags/cli%400.45.0; 2. first-source HTTP 404 falls back to https://api.github.com/repos/getsentry/cli/releases/tags/0.45.0; 3. HTTP 401, 403, 429, and 500 each reject with HTTP ${status} after only the Toolkit request; 4. TypeError("fetch failed") rejects with Failed to connect to GitHub: fetch failed without fallback; 5. both sources returning 404 rejects with No CLI upgrade source was found after exactly 2 requests.packages/cli/test/lib/binary.test.ts verifies getBinaryFilename() returns "sentry" on non-Windows platforms.packages/cli/test/lib/binary.test.ts verifies getBinaryPaths("/usr/local/bin/sentry") derives installPath="/usr/local/bin/sentry", tempPath="/usr/local/bin/sentry.download", oldPath="/usr/local/bin/sentry.old", and lockPath="/usr/local/bin/sentry.lock".packages/cli/src/lib/upgrade.ts documents nightly GHCR tags such as nightly-0.14.0-dev.1772661724, fetches versioned nightly manifests with fetchManifest(token, \nightly-${version}`), and otherwise supports the rolling :nightly` tag.packages/cli/src/lib/ghcr.ts documents OCI tag examples "nightly", "nightly-0.14.0-dev.123", and "patch-0.14.0-dev.123", plus an optional "nightly-" prefix filter for listing versioned nightlies.packages/cli/src/lib/delta-upgrade.ts uses targetTag: (version) => \nightly-${version}`, lists tags using PATCH_TAG_PREFIX, and derives toVersionwithtag.slice(PATCH_TAG_PREFIX.length)`..github/workflows/cleanup-nightlies.yml lists nightly-* tags using oras repo tags "${REPO}" 2>/dev/null | grep '^nightly-[0-9]' | sort -V || echo "", deletes the oldest nightly tags with corresponding patch-* tags, and extracts versions using version="${tag#nightly-}"..github/workflows/ci.yml exposes nightly-version: ${{ steps.nightly.outputs.version }}, conditionally runs when needs.changes.outputs.nightly-version != '', updates packages/cli/package.json using jq --arg v "${{ needs.changes.outputs.nightly-version }}" '.version = $v' packages/cli/package.json > packages/cli/package.json.tmp, and passes the nightly version to later workflow steps.