feat(FN-5608): add linux arm64 dual-arch support to desktop release workflo
Adds Linux ARM64 as a target architecture to the desktop release pipeline, including dual-arch release and test-release workflows, electron-builder configuration updates, and corresponding tests and documentation. Fusion-Task-Id: FN-5608 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai> Fusion-Task-Id: FN-5608
This commit is contained in:
@@ -84,6 +84,27 @@ describe("electron-builder desktop config", () => {
|
||||
(match) => match[1]?.trim(),
|
||||
);
|
||||
expect(linuxTargetEntries[0]).toBe("AppImage");
|
||||
|
||||
const linuxArchMatches = Array.from(
|
||||
linuxSection.matchAll(
|
||||
/-\s*target:\s*(AppImage|deb|tar\.gz)\s*arch:\s*([\s\S]*?)(?=\n\s*-\s*target:|\n\w|$)/g,
|
||||
),
|
||||
);
|
||||
|
||||
expect(linuxArchMatches).toHaveLength(3);
|
||||
|
||||
const linuxArchByTarget = new Map(
|
||||
linuxArchMatches.map((match) => {
|
||||
const target = match[1];
|
||||
const archBlock = match[2] ?? "";
|
||||
const archValues = Array.from(archBlock.matchAll(/-\s*(x64|arm64)/g), (entry) => entry[1]).sort();
|
||||
return [target, archValues] as const;
|
||||
}),
|
||||
);
|
||||
|
||||
expect(linuxArchByTarget.get("AppImage")).toEqual(["arm64", "x64"]);
|
||||
expect(linuxArchByTarget.get("deb")).toEqual(["arm64", "x64"]);
|
||||
expect(linuxArchByTarget.get("tar.gz")).toEqual(["arm64", "x64"]);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -32,6 +32,10 @@ describe("desktop release workflow wiring", () => {
|
||||
expect(workflow).toContain("build-desktop-linux:");
|
||||
expect(workflow).toContain("runs-on: ubuntu-latest");
|
||||
expect(workflow).toMatch(/pnpm --filter @fusion\/desktop dist:linux|electron-builder --linux/);
|
||||
expect(workflow).toContain("--x64");
|
||||
expect(workflow).toContain("--arm64");
|
||||
expect(workflow).toContain("Fusion-*-linux-arm64.AppImage");
|
||||
expect(workflow).toContain("Fusion-*-linux-x64.AppImage");
|
||||
expect(workflow).toContain("name: fusion-desktop-linux");
|
||||
expect(workflow).toContain("packages/desktop/dist-electron/latest-linux.yml");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user