Skip to main content

max / goingson

1.4 KB · 32 lines History Blame Raw
1 // GoingsOn — Linux release recipe for Bento (x86_64 on fw13, aarch64 on astra).
2 //
3 // One recipe serves both arches: build_host() resolves to whichever native host
4 // the topology assigns the target, so there is no cross-compilation and no
5 // hard-coded host name. Ports deploy.md (Linux sections): a signed
6 // `cargo tauri build` (the Tauri updater key signs the .AppImage.tar.gz for
7 // OTA), then collect the AppImage + .deb. Bundle paths are arch-independent.
8 // OTA upload stays manual via the MNW dashboard — no publish() call.
9
10 let h = build_host();
11 let v = version();
12 let r = repo();
13
14 step("checkout");
15 sh_ok(h, "cd " + r + " && git pull --ff-only");
16
17 step("build");
18 sh_ok(h, "cd " + r + " && . ~/.tauri/passwords.env && " +
19 "TAURI_SIGNING_PRIVATE_KEY=$HOME/.tauri/goingson.key " +
20 "TAURI_SIGNING_PRIVATE_KEY_PASSWORD=$GOINGSON_TAURI_PASSWORD " +
21 "cargo tauri build");
22
23 step("collect");
24 // Resolve concrete paths (collect quotes its source, so a glob would not expand
25 // for a local host — fw13 is the daemon's own host).
26 let appimage = sh(h, "ls -t " + r + "/target/release/bundle/appimage/*.AppImage | head -1").stdout_tail.trim();
27 if appimage == "" { throw "no .AppImage produced for " + target(); }
28 collect(h, appimage, "goingson", v);
29 let deb = sh(h, "ls -t " + r + "/target/release/bundle/deb/*.deb 2>/dev/null | head -1").stdout_tail.trim();
30 if deb != "" { collect(h, deb, "goingson", v); }
31 log("GoingsOn " + target() + " v" + v + " collected.");
32