diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e61c7b40615369e3c53d7d28ca99429859a4340e..dcf2933f68cfd0eb2a8ff21399f69a96bc924472 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,7 +59,7 @@ jobs: target: dmg arch: arm64 - label: macOS x64 - runner: macos-13 + runner: macos-15-intel platform: mac target: dmg arch: x64 @@ -150,7 +150,7 @@ jobs: echo "Signing disabled for ${{ matrix.platform }}." fi - bun run dist:desktop:artifact -- "${args[@]}" --verbose + bun run dist:desktop:artifact -- "${args[@]}" - name: Upload build artifacts uses: actions/upload-artifact@v4 diff --git a/scripts/build-desktop-artifact.ts b/scripts/build-desktop-artifact.ts index 849fea934e74e2809b38d21ed06f403cb2bdfcda..1413e2a820ca7660908da00b4abe1f808ab8387c 100644 --- a/scripts/build-desktop-artifact.ts +++ b/scripts/build-desktop-artifact.ts @@ -140,7 +140,7 @@ const BuildEnvConfig = Config.all({ const resolveBooleanFlag = (flag: Option.Option, envValue: boolean) => Option.getOrElse(Option.filter(flag, Boolean), () => envValue); -const mergeOptions = (a: Option.Option, b: Option.Option, defaultValue: A) => +const mergeOptions = (a: Option.Option, b: Option.Option, defaultValue: A) => Option.getOrElse(a, () => Option.getOrElse(b, () => defaultValue)); const resolveBuildOptions = Effect.fn(function* (input: BuildCliInput) { @@ -195,7 +195,6 @@ const runCommand = Effect.fn(function* (command: ChildProcess.Command) { if (exitCode !== 0) { return yield* new BuildScriptError({ message: "Command exited with non-zero exit code", - cause: command, }); } }); @@ -521,8 +520,18 @@ const buildDesktopArtifact = Effect.fn(function* (options: ResolvedBuildOptions) const buildEnv: NodeJS.ProcessEnv = { ...process.env, }; + for (const [key, value] of Object.entries(buildEnv)) { + if (value === "") { + delete buildEnv[key]; + } + } if (!options.signed) { buildEnv.CSC_IDENTITY_AUTO_DISCOVERY = "false"; + delete buildEnv.CSC_LINK; + delete buildEnv.CSC_KEY_PASSWORD; + delete buildEnv.APPLE_API_KEY; + delete buildEnv.APPLE_API_KEY_ID; + delete buildEnv.APPLE_API_ISSUER; } yield* Effect.log( @@ -533,7 +542,7 @@ const buildDesktopArtifact = Effect.fn(function* (options: ResolvedBuildOptions) cwd: stageAppDir, env: buildEnv, ...commandOutputOptions(options.verbose), - })`bunx --bun electron-builder ${platformConfig.cliFlag} ${options.target} --${options.arch} --publish never`, + })`bunx electron-builder ${platformConfig.cliFlag} ${options.target} --${options.arch} --publish never`, ); const stageDistDir = path.join(stageAppDir, "dist");