diff options
| author | Luke Parker <[email protected]> | 2026-03-12 10:25:09 +1000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-12 00:25:09 +0000 |
| commit | 547eb7676df427de6b5195005e2a3b0322a72f1c (patch) | |
| tree | fc0307b5f65f5760a677b654f97efad7a4c74924 /packages/desktop-electron/scripts | |
| parent | 83f083ee0d320ab7cd800278cdde3e2eff23ce86 (diff) | |
| download | opencode-547eb7676df427de6b5195005e2a3b0322a72f1c.tar.gz opencode-547eb7676df427de6b5195005e2a3b0322a72f1c.zip | |
feat(windows): add arm64 release targets for cli and desktop (#16696)
Diffstat (limited to 'packages/desktop-electron/scripts')
| -rw-r--r-- | packages/desktop-electron/scripts/finalize-latest-yml.ts | 14 | ||||
| -rw-r--r-- | packages/desktop-electron/scripts/utils.ts | 7 |
2 files changed, 17 insertions, 4 deletions
diff --git a/packages/desktop-electron/scripts/finalize-latest-yml.ts b/packages/desktop-electron/scripts/finalize-latest-yml.ts index 42ec23b64..aa2ae5c96 100644 --- a/packages/desktop-electron/scripts/finalize-latest-yml.ts +++ b/packages/desktop-electron/scripts/finalize-latest-yml.ts @@ -78,9 +78,17 @@ async function read(subdir: string, filename: string): Promise<LatestYml | undef const output: Record<string, string> = {} -// Windows: single arch, pass through -const win = await read("latest-yml-x86_64-pc-windows-msvc", "latest.yml") -if (win) output["latest.yml"] = serialize(win) +// Windows: merge arm64 + x64 into single file +const winX64 = await read("latest-yml-x86_64-pc-windows-msvc", "latest.yml") +const winArm64 = await read("latest-yml-aarch64-pc-windows-msvc", "latest.yml") +if (winX64 || winArm64) { + const base = winArm64 ?? winX64! + output["latest.yml"] = serialize({ + version: base.version, + files: [...(winArm64?.files ?? []), ...(winX64?.files ?? [])], + releaseDate: base.releaseDate, + }) +} // Linux x64: pass through const linuxX64 = await read("latest-yml-x86_64-unknown-linux-gnu", "latest-linux.yml") diff --git a/packages/desktop-electron/scripts/utils.ts b/packages/desktop-electron/scripts/utils.ts index 4c9af1fc7..1c0add87d 100644 --- a/packages/desktop-electron/scripts/utils.ts +++ b/packages/desktop-electron/scripts/utils.ts @@ -20,6 +20,11 @@ export const SIDECAR_BINARIES: Array<{ rustTarget: string; ocBinary: string; ass assetExt: "zip", }, { + rustTarget: "aarch64-pc-windows-msvc", + ocBinary: "opencode-windows-arm64", + assetExt: "zip", + }, + { rustTarget: "x86_64-pc-windows-msvc", ocBinary: "opencode-windows-x64-baseline", assetExt: "zip", @@ -41,7 +46,7 @@ export const RUST_TARGET = Bun.env.RUST_TARGET function nativeTarget() { const { platform, arch } = process if (platform === "darwin") return arch === "arm64" ? "aarch64-apple-darwin" : "x86_64-apple-darwin" - if (platform === "win32") return "x86_64-pc-windows-msvc" + if (platform === "win32") return arch === "arm64" ? "aarch64-pc-windows-msvc" : "x86_64-pc-windows-msvc" if (platform === "linux") return arch === "arm64" ? "aarch64-unknown-linux-gnu" : "x86_64-unknown-linux-gnu" throw new Error(`Unsupported platform: ${platform}/${arch}`) } |
