Dashboard › cli › Distillation
80d80a55-a304-41ab-acea-ac670620b412["lore_tm_v1_MqNj64PiGC1V59oXmAWKmZF_2EwhnnLzuQXsCnb-CYU","lore_tm_v1_6I5az-l1YH1I9HwIvQ98CwAdf8rnb2vh_2eYvVWFnT0","lore_tm_v1_23JSLCIgYulUuqUaas8yiMqWet1ePxbjQoYKUsngMoE","lore_tm_v1_wo-nzE0ddck5FyYaPFhq7k9kbMAibkUWJ4ByC3LVxCA","lore_tm_v1_u2TJz3semhFCWfALow_dQD1gHO2mDHbIaH_yuS6ePgg"]
stripTrailingSep(p: string) strips a trailing path separator but never strips it from a bare root such as /.packages/cli/test/lib/ghcr.test.ts now imports UPGRADE_SOURCES from ../../src/lib/binary.js and GhcrManifestHttpError from ../../src/lib/ghcr.js.getAnonymousToken(UPGRADE_SOURCES[0]) coverage verifies the selected Toolkit source uses GHCR scope repository:getsentry/toolkit:pull and resolves token "toolkit-token".fetchNightlyManifest("token", undefined, UPGRADE_SOURCES[0]) coverage verifies the selected Toolkit source requests /v2/getsentry/toolkit/manifests/nightly.fetchManifest("token", "patch-0.13.0") HTTP 404 coverage now asserts a GhcrManifestHttpError with name: "GhcrManifestHttpError", status: 404, and message Failed to fetch manifest for tag "patch-0.13.0": HTTP 404, replacing the less-specific UpgradeError assertion.packages/cli/test/lib/ghcr.test.ts blob-download coverage verifies: HTTP 200 returns binary bytes directly; 307 and 302 redirects are followed; bearer authorization is not forwarded to redirected blob storage; a 307 without Location throws "GHCR blob redirect (307) had no Location header"; redirected HTTP 403 throws "Blob storage download failed: HTTP 403"; direct HTTP 500 throws "Unexpected GHCR blob response: HTTP 500"; initial network failure throws "Failed to connect to GHCR: fetch failed"; redirected-download network failure throws "Failed to download from blob storage: fetch failed".packages/cli/test/commands/cli/upgrade.test.ts helper mockGhcrNightlyVersion(version) now returns HTTP 200 for the Toolkit availability probe https://api.github.com/repos/getsentry/toolkit before mocking GHCR token exchange and the nightly manifest.packages/cli/test/commands/cli/upgrade.test.ts helper mockGitHubVersion(version) now recognizes encoded Toolkit release tags cli%40${version} and responds with { tag_name: \cli@${version}` }`, replacing legacy unprefixed-tag behavior.packages/cli/test/commands/cli/upgrade.test.ts helper mockBinaryDownloadWithVersion(version) now mocks getsentry/toolkit/releases?per_page=100 with a release array containing { tag_name: \cli@${version}` }, rather than mocking releases/latest` with a single unprefixed release object.packages/cli/test/commands/cli/upgrade.test.ts now serves [{ tag_name: "cli@99.99.99" }] from getsentry/toolkit/releases?per_page=100; downloaded test content remains gzipped ELF magic bytes [0x7f, 0x45, 0x4c, 0x46]."cli", "setup", "--quiet", "--method", and "curl".packages/cli/test/lib/upgrade.test.ts lines 598 ("probes prefixed Toolkit tags and retains the selected source"), 641 ("does not fall back from an explicit selected source"), and 1127 (Toolkit release-download URL).packages/cli/test/lib/ghcr.test.ts lines 96 and 171.packages/cli/test/lib/delta-upgrade.test.ts lines 951, 982 ("keeps stable resolution on the selected legacy source"), 1225 ("keeps nightly resolution on the selected legacy source"), and 1924 (describe("selected source affinity")).fetchChangelog source-affinity coverage in packages/cli/test/lib/release-notes.test.ts: line 300 suite declaration; line 313 stable releases from explicit Toolkit source; line 351 stable releases from explicit legacy source; line 379 nightly commits from explicit Toolkit source.packages/cli/test/lib/binary.test.ts line 49, packages/cli/test/lib/init/wizard-runner.test.ts line 1357, packages/cli/test/e2e/delta-upgrade.test.ts line 64, packages/cli/test/lib/delta-upgrade.mocked.test.ts line 102, and packages/cli/test/commands/cli/upgrade.test.ts line 412 ("uses the selected legacy source for the check-mode changelog").