mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Signed-off-by: Will Pfleger <pfleger.will@gmail.com> Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
59 lines
1.9 KiB
JavaScript
59 lines
1.9 KiB
JavaScript
import { writeFileSync } from "node:fs";
|
|
import { resolve } from "node:path";
|
|
|
|
// Write a tauri.release.conf.json with release-only overrides.
|
|
//
|
|
// Tauri's --config flag merges the provided JSON on top of the base
|
|
// tauri.conf.json, so this file must contain ONLY the delta fields —
|
|
// not a copy of the base config.
|
|
//
|
|
// For OSS release builds this script emits:
|
|
// 1. bundle.macOS.minimumSystemVersion = "10.15" for broad compatibility.
|
|
// 2. bundle.createUpdaterArtifacts = true so Tauri produces the .tar.gz
|
|
// archive and .sig signature during the build.
|
|
// 3. plugins.updater with the public key and endpoint from env vars.
|
|
// Both BUZZ_UPDATER_PUBLIC_KEY and BUZZ_UPDATER_ENDPOINT are required -
|
|
// the script fails if either is missing (OSS builds always ship with updater).
|
|
//
|
|
// Apple code signing and notarization happen post-build via
|
|
// block/apple-codesign-action in release.yml, so no signingIdentity is
|
|
// emitted here and the Tauri build is invoked with --no-sign.
|
|
|
|
const outputConfigPath = resolve(
|
|
process.cwd(),
|
|
"src-tauri/tauri.release.conf.json",
|
|
);
|
|
|
|
const updaterPubkey = process.env.BUZZ_UPDATER_PUBLIC_KEY;
|
|
const updaterEndpoint = process.env.BUZZ_UPDATER_ENDPOINT;
|
|
|
|
const missing = [];
|
|
if (!updaterPubkey) missing.push("BUZZ_UPDATER_PUBLIC_KEY");
|
|
if (!updaterEndpoint) missing.push("BUZZ_UPDATER_ENDPOINT");
|
|
if (missing.length > 0) {
|
|
console.error(
|
|
`Error: required environment variable(s) missing: ${missing.join(", ")}`,
|
|
);
|
|
process.exit(1);
|
|
}
|
|
|
|
const releaseConfig = {
|
|
bundle: {
|
|
macOS: {
|
|
minimumSystemVersion: "10.15",
|
|
},
|
|
createUpdaterArtifacts: true,
|
|
},
|
|
plugins: {
|
|
updater: {
|
|
pubkey: updaterPubkey,
|
|
endpoints: [updaterEndpoint],
|
|
},
|
|
},
|
|
};
|
|
|
|
console.log(`Updater enabled -> ${updaterEndpoint}`);
|
|
|
|
writeFileSync(outputConfigPath, `${JSON.stringify(releaseConfig, null, 2)}\n`);
|
|
console.log(`Wrote ${outputConfigPath}`);
|