diff --git a/scripts/catalog-components.test.js b/scripts/catalog-components.test.js index e3abdfb5..3a3d6e73 100644 --- a/scripts/catalog-components.test.js +++ b/scripts/catalog-components.test.js @@ -289,3 +289,21 @@ test("DriverVersionsCatalog showRebootStep prop controls reboot banner", () => { }); assert.ok(!withoutReboot.includes("Final Step: Reboot")); }); + +test("DriverVersionsCatalog generates rebase commands using the correct package for bluefin-lts", () => { + const html = render(DriverVersionsCatalog, { + streamId: "bluefin-lts", + catalogOverride: ltsCatalog, + }); + + assert.ok( + html.includes( + "sudo bootc switch --enforce-container-sigpolicy ghcr.io/projectbluefin/bluefin-lts:lts-20260906", + ), + ); + assert.ok( + !html.includes( + "sudo bootc switch --enforce-container-sigpolicy ghcr.io/projectbluefin/bluefin:lts-20260906", + ), + ); +}); diff --git a/src/components/DriverVersionsCatalog.tsx b/src/components/DriverVersionsCatalog.tsx index 61ced62d..2f2a5bf6 100644 --- a/src/components/DriverVersionsCatalog.tsx +++ b/src/components/DriverVersionsCatalog.tsx @@ -181,9 +181,17 @@ function UserspaceMarker({ ); } +const STREAM_PACKAGES: Record = { + "bluefin-stable": "bluefin", + "bluefin-lts": "bluefin-lts", + "dakota-latest": "dakota", + "utah-testing": "utah", +}; + function buildRebaseCommand(stream: DriverStream, tag: string): string { const safeTag = tag.replace(/[^a-zA-Z0-9_.-]/g, ""); - return `sudo bootc switch --enforce-container-sigpolicy ghcr.io/projectbluefin/${stream.id.replace(/-.*/, "")}:${safeTag}`; + const pkg = STREAM_PACKAGES[stream.id] ?? stream.id.replace(/-.*/, ""); + return `sudo bootc switch --enforce-container-sigpolicy ghcr.io/projectbluefin/${pkg}:${safeTag}`; } function ReleaseNode({