authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-03-01 18:33:39-08:00
committergravatar for jmarminge@gmail.comJulius Marminge <jmarminge@gmail.com> 2026-03-01 18:41:36-08:00
log1419bf3989adbf9ea4a3e008ad6f85ee17c29755
treef833ba6a999363ae0bf28cb532c6b0a28065ee2a
parentdca85c402c0bd9ac5e3abdca5e2542f568672393

fix?


2 files changed, 14 insertions(+), 5 deletions(-)

.github/workflows/release.yml+2-2
...@@ -59,7 +59,7 @@ jobs:...@@ -59,7 +59,7 @@ jobs:
59 target: dmg59 target: dmg
60 arch: arm6460 arch: arm64
61 - label: macOS x6461 - label: macOS x64
62 runner: macos-1362 runner: macos-15-intel
63 platform: mac63 platform: mac
64 target: dmg64 target: dmg
65 arch: x6465 arch: x64
...@@ -150,7 +150,7 @@ jobs:...@@ -150,7 +150,7 @@ jobs:
150 echo "Signing disabled for ${{ matrix.platform }}."150 echo "Signing disabled for ${{ matrix.platform }}."
151 fi151 fi
152152
153 bun run dist:desktop:artifact -- "${args[@]}" --verbose153 bun run dist:desktop:artifact -- "${args[@]}"
154154
155 - name: Upload build artifacts155 - name: Upload build artifacts
156 uses: actions/upload-artifact@v4156 uses: actions/upload-artifact@v4
scripts/build-desktop-artifact.ts+12-3
...@@ -140,7 +140,7 @@ const BuildEnvConfig = Config.all({...@@ -140,7 +140,7 @@ const BuildEnvConfig = Config.all({
140140
141const resolveBooleanFlag = (flag: Option.Option<boolean>, envValue: boolean) =>141const resolveBooleanFlag = (flag: Option.Option<boolean>, envValue: boolean) =>
142 Option.getOrElse(Option.filter(flag, Boolean), () => envValue);142 Option.getOrElse(Option.filter(flag, Boolean), () => envValue);
143const mergeOptions = <A,>(a: Option.Option<A>, b: Option.Option<A>, defaultValue: A) =>143const mergeOptions = <A>(a: Option.Option<A>, b: Option.Option<A>, defaultValue: A) =>
144 Option.getOrElse(a, () => Option.getOrElse(b, () => defaultValue));144 Option.getOrElse(a, () => Option.getOrElse(b, () => defaultValue));
145145
146const resolveBuildOptions = Effect.fn(function* (input: BuildCliInput) {146const resolveBuildOptions = Effect.fn(function* (input: BuildCliInput) {
...@@ -195,7 +195,6 @@ const runCommand = Effect.fn(function* (command: ChildProcess.Command) {...@@ -195,7 +195,6 @@ const runCommand = Effect.fn(function* (command: ChildProcess.Command) {
195 if (exitCode !== 0) {195 if (exitCode !== 0) {
196 return yield* new BuildScriptError({196 return yield* new BuildScriptError({
197 message: "Command exited with non-zero exit code",197 message: "Command exited with non-zero exit code",
198 cause: command,
199 });198 });
200 }199 }
201});200});
...@@ -521,8 +520,18 @@ const buildDesktopArtifact = Effect.fn(function* (options: ResolvedBuildOptions)...@@ -521,8 +520,18 @@ const buildDesktopArtifact = Effect.fn(function* (options: ResolvedBuildOptions)
521 const buildEnv: NodeJS.ProcessEnv = {520 const buildEnv: NodeJS.ProcessEnv = {
522 ...process.env,521 ...process.env,
523 };522 };
523 for (const [key, value] of Object.entries(buildEnv)) {
524 if (value === "") {
525 delete buildEnv[key];
526 }
527 }
524 if (!options.signed) {528 if (!options.signed) {
525 buildEnv.CSC_IDENTITY_AUTO_DISCOVERY = "false";529 buildEnv.CSC_IDENTITY_AUTO_DISCOVERY = "false";
530 delete buildEnv.CSC_LINK;
531 delete buildEnv.CSC_KEY_PASSWORD;
532 delete buildEnv.APPLE_API_KEY;
533 delete buildEnv.APPLE_API_KEY_ID;
534 delete buildEnv.APPLE_API_ISSUER;
526 }535 }
527536
528 yield* Effect.log(537 yield* Effect.log(
...@@ -533,7 +542,7 @@ const buildDesktopArtifact = Effect.fn(function* (options: ResolvedBuildOptions)...@@ -533,7 +542,7 @@ const buildDesktopArtifact = Effect.fn(function* (options: ResolvedBuildOptions)
533 cwd: stageAppDir,542 cwd: stageAppDir,
534 env: buildEnv,543 env: buildEnv,
535 ...commandOutputOptions(options.verbose),544 ...commandOutputOptions(options.verbose),
536 })`bunx --bun electron-builder ${platformConfig.cliFlag} ${options.target} --${options.arch} --publish never`,545 })`bunx electron-builder ${platformConfig.cliFlag} ${options.target} --${options.arch} --publish never`,
537 );546 );
538547
539 const stageDistDir = path.join(stageAppDir, "dist");548 const stageDistDir = path.join(stageAppDir, "dist");