From 95ced6bf7de4c192e02f32af722d030fae674eb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=95=E7=BB=8D=E6=B3=A2?= Date: Wed, 25 Feb 2026 14:08:15 +0800 Subject: [PATCH 1/3] fix(core): conditionally include system CA flag in execArgv for build script --- packages/opencode/script/build.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opencode/script/build.ts b/packages/opencode/script/build.ts index 19353b67fe4..14b13afde6e 100755 --- a/packages/opencode/script/build.ts +++ b/packages/opencode/script/build.ts @@ -175,7 +175,7 @@ for (const item of targets) { autoloadPackageJson: true, target: name.replace(pkg.name, "bun") as any, outfile: `dist/${name}/bin/opencode`, - execArgv: [`--user-agent=opencode/${Script.version}`, "--use-system-ca", "--"], + execArgv: [`--user-agent=opencode/${Script.version}`, ...(process.env.OPENCODE_DISABLE_SYSTEM_CA !== 'true' ? ['--use-system-ca'] : []), "--"], windows: {}, }, entrypoints: ["./src/index.ts", parserWorker, workerPath], From 876d389d67a46ed308c3d057716e3a4bf1e05d1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=95=E7=BB=8D=E6=B3=A2?= Date: Fri, 27 Feb 2026 09:59:22 +0800 Subject: [PATCH 2/3] fix(opencode): add no-ca build variants for Windows DLL injection environments #15021 --- packages/opencode/script/build.ts | 20 +++++++++++++++++++- packages/opencode/script/publish.ts | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/opencode/script/build.ts b/packages/opencode/script/build.ts index d3cc583d04d..93228f9b65b 100755 --- a/packages/opencode/script/build.ts +++ b/packages/opencode/script/build.ts @@ -65,6 +65,7 @@ const allTargets: { arch: "arm64" | "x64" abi?: "musl" avx2?: false + noCa?: true }[] = [ { os: "linux", @@ -117,6 +118,17 @@ const allTargets: { arch: "x64", avx2: false, }, + { + os: "win32", + arch: "x64", + noCa: true, + }, + { + os: "win32", + arch: "x64", + avx2: false, + noCa: true, + }, ] const targets = singleFlag @@ -136,6 +148,11 @@ const targets = singleFlag return false } + // skip no-ca variants for local dev builds + if (item.noCa) { + return false + } + return true }) : allTargets @@ -155,6 +172,7 @@ for (const item of targets) { item.arch, item.avx2 === false ? "baseline" : undefined, item.abi === undefined ? undefined : item.abi, + item.noCa ? "no-ca" : undefined, ] .filter(Boolean) .join("-") @@ -180,7 +198,7 @@ for (const item of targets) { autoloadPackageJson: true, target: name.replace(pkg.name, "bun") as any, outfile: `dist/${name}/bin/opencode`, - execArgv: [`--user-agent=opencode/${Script.version}`, ...(process.env.OPENCODE_DISABLE_SYSTEM_CA !== 'true' ? ['--use-system-ca'] : []), "--"], + execArgv: [`--user-agent=opencode/${Script.version}`, ...(!item.noCa && process.env.OPENCODE_DISABLE_SYSTEM_CA !== 'true' ? ['--use-system-ca'] : []), "--"], windows: {}, }, entrypoints: ["./src/index.ts", parserWorker, workerPath], diff --git a/packages/opencode/script/publish.ts b/packages/opencode/script/publish.ts index fbc1c83ba6d..69385b4cef5 100755 --- a/packages/opencode/script/publish.ts +++ b/packages/opencode/script/publish.ts @@ -10,6 +10,7 @@ process.chdir(dir) const binaries: Record = {} for (const filepath of new Bun.Glob("*/package.json").scanSync({ cwd: "./dist" })) { const pkg = await Bun.file(`./dist/${filepath}`).json() + if (pkg.name.includes("-no-ca")) continue binaries[pkg.name] = pkg.version } console.log("binaries", binaries) From e5492630d796134f6ce56cf7f31edae8a02b89b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=95=E7=BB=8D=E6=B3=A2?= Date: Fri, 27 Feb 2026 10:04:01 +0800 Subject: [PATCH 3/3] fix(opencode): fix type check error when build bun --- packages/opencode/script/build.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opencode/script/build.ts b/packages/opencode/script/build.ts index 93228f9b65b..fc6859183e3 100755 --- a/packages/opencode/script/build.ts +++ b/packages/opencode/script/build.ts @@ -196,7 +196,7 @@ for (const item of targets) { autoloadDotenv: false, autoloadTsconfig: true, autoloadPackageJson: true, - target: name.replace(pkg.name, "bun") as any, + target: name.replace(pkg.name, "bun").replace("-no-ca", "") as any, outfile: `dist/${name}/bin/opencode`, execArgv: [`--user-agent=opencode/${Script.version}`, ...(!item.noCa && process.env.OPENCODE_DISABLE_SYSTEM_CA !== 'true' ? ['--use-system-ca'] : []), "--"], windows: {},