Skip to main content

max / balanced_breakfast

Port the Windows recipe to repo() and checkout_sha() The checkout path is a Windows path, which the topology now declares per host (bento `repo_by_host`), so the recipe no longer hard-codes it. Hard-coding was also what kept this recipe off checkout_sha(h): that pins the host to the release tag and builds its git commands from the app's path, so the recipe was stuck on `git pull --ff-only` and built whatever main was at pull time.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-07 18:01 UTC
Signed with PGP, not checked
Commit: af1aa2e5d3493f2ca0df9dac0847501eae4bd96f
Parent: 40950c9
1 file changed, +14 insertions, -10 deletions
@@ -1,35 +1,39 @@
1 1 // Balanced Breakfast, Windows (x86_64) release recipe for Bento.
2 2 //
3 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.
4 + // Best-effort, not exercised end-to-end through Bento. Commands run through
5 + // PowerShell over ssh, and the `passwords.ps1` profile supplies the signing
6 + // env. Mirrors deploy.md. The checkout is at a Windows path, which the topology
7 + // declares (`repo_by_host`), so repo() answers it like anywhere else.
7 8 //
8 9 // Known BB-Windows gotcha (deploy.md): unset RUSTC_WRAPPER if sccache is set.
9 10 // It crashes compiling the `ico` crate.
10 11
11 12 let h = build_host();
12 13 let v = version();
13 - let win_repo = "C:/Users/me/Code/Apps/balanced_breakfast";
14 + let r = repo();
14 15
15 16 step("checkout");
16 - sh_ok(h, "powershell -Command \"cd " + win_repo + "; git pull --ff-only\"");
17 + // Pin to the release tag v<version>, not whatever main is at pull time. The
18 + // same barrier every other target of this release passes.
19 + let sha = checkout_sha(h);
20 + log("pinned " + h + " to v" + v + " @ " + sha);
17 21
18 22 // Gate: no artifact is built from code that fails clippy or its tests. It runs
19 23 // on this target's own build host, so a break confined to one platform is
20 24 // caught where it would have shipped.
21 25 step("prebuild");
22 - sh_ok(h, "powershell -Command \"cd " + win_repo + "; cargo clippy --workspace --all-targets " + feature_flags() + " -- -D warnings\"");
23 - sh_ok(h, "powershell -Command \"cd " + win_repo + "; cargo test --workspace " + feature_flags() + "\"");
26 + sh_ok(h, "powershell -Command \"cd " + r + "; cargo clippy --workspace --all-targets " + feature_flags() + " -- -D warnings\"");
27 + sh_ok(h, "powershell -Command \"cd " + r + "; cargo test --workspace " + feature_flags() + "\"");
24 28
25 29 step("build");
26 30 sh_ok(h, "powershell -Command \". C:\\Users\\me\\.tauri\\passwords.ps1; " +
27 31 "$env:RUSTC_WRAPPER=''; " +
28 32 "$env:TAURI_SIGNING_PRIVATE_KEY='C:\\Users\\me\\.tauri\\balanced-breakfast.key'; " +
29 33 "$env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD=$env:BB_TAURI_PASSWORD; " +
30 - "cd " + win_repo + "; cargo tauri build " + feature_flags() + "\"");
34 + "cd " + r + "; cargo tauri build " + feature_flags() + "\"");
31 35
32 36 step("collect");
33 - collect(h, win_repo + "/target/release/bundle/msi/*.msi", "balanced_breakfast", v);
34 - collect(h, win_repo + "/target/release/bundle/nsis/*-setup.exe", "balanced_breakfast", v);
37 + collect(h, r + "/target/release/bundle/msi/*.msi", "balanced_breakfast", v);
38 + collect(h, r + "/target/release/bundle/nsis/*-setup.exe", "balanced_breakfast", v);
35 39 log("Balanced Breakfast windows/x86_64 v" + v + " collected (unsigned, unsupported).");