diff options
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/desktop-electron/electron-builder.config.ts | 23 | ||||
| -rwxr-xr-x | packages/desktop-electron/scripts/prepare.ts | 3 | ||||
| -rw-r--r-- | packages/desktop-electron/scripts/utils.ts | 3 | ||||
| -rwxr-xr-x | packages/desktop/scripts/prepare.ts | 3 | ||||
| -rw-r--r-- | packages/desktop/scripts/utils.ts | 3 | ||||
| -rw-r--r-- | packages/desktop/src-tauri/tauri.beta.conf.json | 4 | ||||
| -rw-r--r-- | packages/desktop/src-tauri/tauri.conf.json | 4 | ||||
| -rw-r--r-- | packages/desktop/src-tauri/tauri.prod.conf.json | 4 |
8 files changed, 45 insertions, 2 deletions
diff --git a/packages/desktop-electron/electron-builder.config.ts b/packages/desktop-electron/electron-builder.config.ts index e6b4bcd2b..70441d8d7 100644 --- a/packages/desktop-electron/electron-builder.config.ts +++ b/packages/desktop-electron/electron-builder.config.ts @@ -1,5 +1,25 @@ +import { execFile } from "node:child_process" +import path from "node:path" +import { fileURLToPath } from "node:url" +import { promisify } from "node:util" + import type { Configuration } from "electron-builder" +const execFileAsync = promisify(execFile) +const rootDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..") +const signScript = path.join(rootDir, "script", "sign-windows.ps1") + +async function signWindows(configuration: { path: string }) { + if (process.platform !== "win32") return + if (process.env.GITHUB_ACTIONS !== "true") return + + await execFileAsync( + "pwsh", + ["-NoLogo", "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", signScript, configuration.path], + { cwd: rootDir }, + ) +} + const channel = (() => { const raw = process.env.OPENCODE_CHANNEL if (raw === "dev" || raw === "beta" || raw === "prod") return raw @@ -44,6 +64,9 @@ const getBase = (): Configuration => ({ }, win: { icon: `resources/icons/icon.ico`, + signtoolOptions: { + sign: signWindows, + }, target: ["nsis"], }, nsis: { diff --git a/packages/desktop-electron/scripts/prepare.ts b/packages/desktop-electron/scripts/prepare.ts index 3764db921..3704b2e61 100755 --- a/packages/desktop-electron/scripts/prepare.ts +++ b/packages/desktop-electron/scripts/prepare.ts @@ -13,11 +13,12 @@ await Bun.write("./package.json", JSON.stringify(pkg, null, 2) + "\n") console.log(`Updated package.json version to ${Script.version}`) const sidecarConfig = getCurrentSidecar() +const artifact = process.env.OPENCODE_CLI_ARTIFACT ?? "opencode-cli" const dir = "resources/opencode-binaries" await $`mkdir -p ${dir}` -await $`gh run download ${Bun.env.GITHUB_RUN_ID} -n opencode-cli`.cwd(dir) +await $`gh run download ${process.env.GITHUB_RUN_ID} -n ${artifact}`.cwd(dir) await copyBinaryToSidecarFolder(windowsify(`${dir}/${sidecarConfig.ocBinary}/bin/opencode`)) diff --git a/packages/desktop-electron/scripts/utils.ts b/packages/desktop-electron/scripts/utils.ts index 1c0add87d..19b96b0a1 100644 --- a/packages/desktop-electron/scripts/utils.ts +++ b/packages/desktop-electron/scripts/utils.ts @@ -63,6 +63,9 @@ export async function copyBinaryToSidecarFolder(source: string) { await $`mkdir -p ${dir}` const dest = windowsify(`${dir}/opencode-cli`) await $`cp ${source} ${dest}` + if (process.platform === "win32" && process.env.GITHUB_ACTIONS === "true") { + await $`pwsh -NoLogo -NoProfile -ExecutionPolicy Bypass -File ../../script/sign-windows.ps1 ${dest}` + } if (process.platform === "darwin") await $`codesign --force --sign - ${dest}` console.log(`Copied ${source} to ${dest}`) diff --git a/packages/desktop/scripts/prepare.ts b/packages/desktop/scripts/prepare.ts index d802f2d89..729bf6ae1 100755 --- a/packages/desktop/scripts/prepare.ts +++ b/packages/desktop/scripts/prepare.ts @@ -10,10 +10,11 @@ await Bun.write("./package.json", JSON.stringify(pkg, null, 2) + "\n") console.log(`Updated package.json version to ${Script.version}`) const sidecarConfig = getCurrentSidecar() +const artifact = process.env.OPENCODE_CLI_ARTIFACT ?? "opencode-cli" const dir = "src-tauri/target/opencode-binaries" await $`mkdir -p ${dir}` -await $`gh run download ${Bun.env.GITHUB_RUN_ID} -n opencode-cli`.cwd(dir) +await $`gh run download ${process.env.GITHUB_RUN_ID} -n ${artifact}`.cwd(dir) await copyBinaryToSidecarFolder(windowsify(`${dir}/${sidecarConfig.ocBinary}/bin/opencode`)) diff --git a/packages/desktop/scripts/utils.ts b/packages/desktop/scripts/utils.ts index 06ff25946..111871d3e 100644 --- a/packages/desktop/scripts/utils.ts +++ b/packages/desktop/scripts/utils.ts @@ -48,6 +48,9 @@ export async function copyBinaryToSidecarFolder(source: string, target = RUST_TA await $`mkdir -p src-tauri/sidecars` const dest = windowsify(`src-tauri/sidecars/opencode-cli-${target}`) await $`cp ${source} ${dest}` + if (process.platform === "win32" && process.env.GITHUB_ACTIONS === "true") { + await $`pwsh -NoLogo -NoProfile -ExecutionPolicy Bypass -File ../../script/sign-windows.ps1 ${dest}` + } console.log(`Copied ${source} to ${dest}`) } diff --git a/packages/desktop/src-tauri/tauri.beta.conf.json b/packages/desktop/src-tauri/tauri.beta.conf.json index 4dd787993..f2cf1d267 100644 --- a/packages/desktop/src-tauri/tauri.beta.conf.json +++ b/packages/desktop/src-tauri/tauri.beta.conf.json @@ -12,6 +12,10 @@ "icons/beta/icon.ico" ], "windows": { + "signCommand": { + "cmd": "powershell", + "args": ["-ExecutionPolicy", "Bypass", "-File", "../../../script/sign-windows.ps1", "%1"] + }, "nsis": { "installerIcon": "icons/beta/icon.ico" } diff --git a/packages/desktop/src-tauri/tauri.conf.json b/packages/desktop/src-tauri/tauri.conf.json index d5ca15b8a..265044625 100644 --- a/packages/desktop/src-tauri/tauri.conf.json +++ b/packages/desktop/src-tauri/tauri.conf.json @@ -45,6 +45,10 @@ "entitlements": "./entitlements.plist" }, "windows": { + "signCommand": { + "cmd": "powershell", + "args": ["-ExecutionPolicy", "Bypass", "-File", "../../../script/sign-windows.ps1", "%1"] + }, "nsis": { "installerIcon": "icons/dev/icon.ico", "headerImage": "assets/nsis-header.bmp", diff --git a/packages/desktop/src-tauri/tauri.prod.conf.json b/packages/desktop/src-tauri/tauri.prod.conf.json index 0416c59cb..39561e45d 100644 --- a/packages/desktop/src-tauri/tauri.prod.conf.json +++ b/packages/desktop/src-tauri/tauri.prod.conf.json @@ -12,6 +12,10 @@ "icons/prod/icon.ico" ], "windows": { + "signCommand": { + "cmd": "powershell", + "args": ["-ExecutionPolicy", "Bypass", "-File", "../../../script/sign-windows.ps1", "%1"] + }, "nsis": { "installerIcon": "icons/prod/icon.ico" } |
