Add Bento build recipes (linux, windows)
Per-platform .rhai recipes under dist/recipes/ for bentod. macOS/iOS deferred
until BB gains Developer ID signing/notarization infra and an iOS project; BB
is a later launch wave. Un-ignore dist/recipes/ (non-secret).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 files changed,
+62 insertions,
-2 deletions
| 18 |
18 |
|
plugins/*.so
|
| 19 |
19 |
|
plugins/*.dll
|
| 20 |
20 |
|
|
| 21 |
|
- |
# Release artifacts
|
| 22 |
|
- |
dist/
|
|
21 |
+ |
# Release artifacts (secret signing scripts stay Syncthing-only); Bento build
|
|
22 |
+ |
# recipes are non-secret and tracked.
|
|
23 |
+ |
dist/*
|
|
24 |
+ |
!dist/recipes/
|
| 23 |
25 |
|
|
| 24 |
26 |
|
# Tauri generated
|
| 25 |
27 |
|
src-tauri/gen/
|
|
1 |
+ |
// Balanced Breakfast — Linux release recipe for Bento (x86_64 fw13, aarch64 astra).
|
|
2 |
+ |
//
|
|
3 |
+ |
// BB is a Tauri app like GoingsOn; one recipe serves both arches via
|
|
4 |
+ |
// build_host(). Ports _private/docs/balanced_breakfast/deploy.md (Linux
|
|
5 |
+ |
// sections): a signed `cargo tauri build` (updater key signs the OTA artifact),
|
|
6 |
+ |
// then collect the AppImage + .deb. BB bundles its Rhai plugins + themes as
|
|
7 |
+ |
// resources at build time. OTA upload stays manual via the MNW dashboard.
|
|
8 |
+ |
//
|
|
9 |
+ |
// Note: BB is NOT in the launch wave; ships in a later wave.
|
|
10 |
+ |
|
|
11 |
+ |
let h = build_host();
|
|
12 |
+ |
let v = version();
|
|
13 |
+ |
let r = repo();
|
|
14 |
+ |
|
|
15 |
+ |
step("checkout");
|
|
16 |
+ |
sh_ok(h, "cd " + r + " && git pull --ff-only");
|
|
17 |
+ |
|
|
18 |
+ |
step("build");
|
|
19 |
+ |
sh_ok(h, "cd " + r + " && . ~/.tauri/passwords.env && " +
|
|
20 |
+ |
"TAURI_SIGNING_PRIVATE_KEY=$HOME/.tauri/balanced-breakfast.key " +
|
|
21 |
+ |
"TAURI_SIGNING_PRIVATE_KEY_PASSWORD=$BB_TAURI_PASSWORD " +
|
|
22 |
+ |
"cargo tauri build");
|
|
23 |
+ |
|
|
24 |
+ |
step("collect");
|
|
25 |
+ |
let appimage = sh(h, "ls -t " + r + "/target/release/bundle/appimage/*.AppImage | head -1").stdout_tail.trim();
|
|
26 |
+ |
if appimage == "" { throw "no .AppImage produced for " + target(); }
|
|
27 |
+ |
collect(h, appimage, "balanced_breakfast", v);
|
|
28 |
+ |
let deb = sh(h, "ls -t " + r + "/target/release/bundle/deb/*.deb 2>/dev/null | head -1").stdout_tail.trim();
|
|
29 |
+ |
if deb != "" { collect(h, deb, "balanced_breakfast", v); }
|
|
30 |
+ |
log("Balanced Breakfast " + target() + " v" + v + " collected.");
|
|
1 |
+ |
// Balanced Breakfast — Windows (x86_64) release recipe for Bento.
|
|
2 |
+ |
//
|
|
3 |
+ |
// UNSUPPORTED at launch and NOT in the launch wave. Binaries ship unsigned.
|
|
4 |
+ |
// Best-effort, not exercised end-to-end through Bento. The checkout is at a
|
|
5 |
+ |
// Windows path (not repo()), commands run through PowerShell over ssh, and the
|
|
6 |
+ |
// `passwords.ps1` profile supplies the signing env. Mirrors deploy.md.
|
|
7 |
+ |
//
|
|
8 |
+ |
// Known BB-Windows gotcha (deploy.md): unset RUSTC_WRAPPER if sccache is set —
|
|
9 |
+ |
// it crashes compiling the `ico` crate.
|
|
10 |
+ |
|
|
11 |
+ |
let h = build_host();
|
|
12 |
+ |
let v = version();
|
|
13 |
+ |
let win_repo = "C:/Users/me/Code/Apps/balanced_breakfast";
|
|
14 |
+ |
|
|
15 |
+ |
step("checkout");
|
|
16 |
+ |
sh_ok(h, "powershell -Command \"cd " + win_repo + "; git pull --ff-only\"");
|
|
17 |
+ |
|
|
18 |
+ |
step("build");
|
|
19 |
+ |
sh_ok(h, "powershell -Command \". C:\\Users\\me\\.tauri\\passwords.ps1; " +
|
|
20 |
+ |
"$env:RUSTC_WRAPPER=''; " +
|
|
21 |
+ |
"$env:TAURI_SIGNING_PRIVATE_KEY='C:\\Users\\me\\.tauri\\balanced-breakfast.key'; " +
|
|
22 |
+ |
"$env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD=$env:BB_TAURI_PASSWORD; " +
|
|
23 |
+ |
"cd " + win_repo + "; cargo tauri build\"");
|
|
24 |
+ |
|
|
25 |
+ |
step("collect");
|
|
26 |
+ |
collect(h, win_repo + "/target/release/bundle/msi/*.msi", "balanced_breakfast", v);
|
|
27 |
+ |
collect(h, win_repo + "/target/release/bundle/nsis/*-setup.exe", "balanced_breakfast", v);
|
|
28 |
+ |
log("Balanced Breakfast windows/x86_64 v" + v + " collected (unsigned, unsupported).");
|