Dashboard › cli › Distillation
42b665b1-b9f8-42ec-ab3b-00709e705f81["lore_tm_v1_8mG6vENFqsJ-USFWsPQ3nwBXobIbWB7UepTLbmmtbrw","lore_tm_v1_7zS8pHLEs9oPGtcZetn5WnXA0xlyhiTfKJP0T3W_rUU","lore_tm_v1_uKet_mjaDNuqgTKXo8eVoexBYjiWUnXAjQnIzNUQToM","lore_tm_v1_rQKkzvdKMgI63sUenNikNFWvK0KnUC4Qe1d5EVlAozk","lore_tm_v1_x545wQ2M6Fx8S2lFR8WdOZgC6_VAE0bDD2TMHH8vHRY"]
UPGRADE_SOURCES order in packages/cli/src/lib/binary.ts is: 1. { githubRepo: "getsentry/toolkit", ghcrRepo: "getsentry/toolkit", tagPrefix: "cli@" }; 2. { githubRepo: "getsentry/cli", ghcrRepo: "getsentry/cli", tagPrefix: "" }.resolveUpgradeSource(...) tests in packages/cli/test/lib/binary.test.ts require probing Toolkit first at https://api.github.com/repos/getsentry/toolkit/releases/tags/cli%400.45.0; if successful, it returns { source: UPGRADE_SOURCES[0], response: Response } after exactly that one request.resolveUpgradeSource(...) falls back to the legacy CLI source only after HTTP 404, probing second at https://api.github.com/repos/getsentry/cli/releases/tags/0.45.0 and returning UPGRADE_SOURCES[1].resolveUpgradeSource(...) must not fall back after HTTP statuses 401, 403, 429, or 500; each rejects with HTTP ${status} after only the Toolkit request.resolveUpgradeSource(...) must not fall back after a network TypeError("fetch failed"); it rejects with "Failed to connect to GitHub: fetch failed" after only the Toolkit request.UpgradeSourceNotFoundError with name: "UpgradeSourceNotFoundError" after requests to both the Toolkit and legacy CLI tag URLs.getBinaryDownloadUrl("1.0.0") test requires a URL beginning https://github.com/getsentry/toolkit/releases/download/, containing /cli@1.0.0/, sentry-, and architecture arm64 when process.arch === "arm64" or otherwise x64; getBinaryDownloadUrl("2.0.0") ends in .exe only on Windows.getBinaryPaths("/usr/local/bin/sentry") contract returns installPath="/usr/local/bin/sentry", tempPath="/usr/local/bin/sentry.download", oldPath="/usr/local/bin/sentry.old", and lockPath="/usr/local/bin/sentry.lock".getBinaryFilename() returns "sentry" on non-Windows platforms.--check tests require: equal current/latest versions show "Method: curl", CLI_VERSION, and "You are already on the target version"; target 99.99.99 shows "Run 'sentry cli upgrade' to update."; explicitly requested 88.88.88 shows "Run 'sentry cli upgrade 88.88.88' to update.".["cli", "upgrade", "--check", "--method", "curl", "88.88.88"]; it probes Toolkit tag URL https://api.github.com/repos/getsentry/toolkit/releases/tags/cli%4088.88.88, falls back to https://api.github.com/repos/getsentry/cli/releases/tags/88.88.88, then fetches changelog data from https://api.github.com/repos/getsentry/cli/releases?per_page=30 and must not request https://api.github.com/repos/getsentry/toolkit/releases?per_page=30."Already up to date" and does not show "Upgrading to" when the current version equals the target.["cli", "upgrade", "--method", "brew", "1.2.3"] before any network call with "Homebrew does not support installing a specific version".["cli", "upgrade", "--check", "--method", "brew"] and requires "Method: brew", "99.99.99", and "Run 'sentry cli upgrade' to update.".getsentry/cli/releases/latest returns 99.99.99, it requests https://api.github.com/repos/getsentry/cli/releases?per_page=30 and not the corresponding Toolkit per_page=30 URL.["cli", "upgrade", "--method", "curl", "0.0.1"] and requires output containing "Version 0.0.1 not found" when Toolkit latest contains cli@99.99.99 but exact-version checks return 404.packages/cli/test/commands/cli.test.ts fetch mock from a single GitHub release object { tag_name: "v0.0.0-dev" } to a release-list response [{ tag_name: "cli@0.0.0-dev" }], reflecting Toolkit’s cli@ tag prefix.packages/cli/src/commands/cli/upgrade.ts 85 additions/41 deletions; packages/cli/src/lib/binary.ts 148/6; packages/cli/src/lib/delta-upgrade.ts 107/32; packages/cli/src/lib/ghcr.ts 58/22; packages/cli/src/lib/release-notes.ts 81/38; packages/cli/src/lib/upgrade.ts 339/75; packages/cli/src/lib/version-check.ts 13/8; packages/cli/test/commands/cli.test.ts 13/10; packages/cli/test/commands/cli/upgrade.test.ts 116/20; packages/cli/test/lib/binary.test.ts 128/2; packages/cli/test/lib/delta-upgrade.mocked.test.ts 7/7; packages/cli/test/lib/delta-upgrade.test.ts 185/16; packages/cli/test/lib/ghcr.test.ts 68/5; packages/cli/test/lib/release-notes.test.ts 152/2; packages/cli/test/lib/upgrade.test.ts 478/39; packages/cli/test/lib/version-check.test.ts 124/1.