Skip to main content

max / balanced_breakfast

dist: use resolve_artifact for strict release-artifact selection Replace `sh("ls -t <glob> | head -1")` guarded on an empty string with Bento's resolve_artifact / resolve_artifact_opt: exactly-one match for the required AppImage, zero-or-one for the optional deb, and a hard error on an ambiguous match instead of a stale newest-by-mtime pick. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-23 21:03 UTC
Commit: f474d91acdcfd482d373749721b8b3d33a43029d
Parent: 0ce7139
1 file changed, +2 insertions, -3 deletions
@@ -32,9 +32,8 @@ sh_ok(h, "cd " + r + " && . ~/.tauri/passwords.env && " +
32 32 "cargo tauri build " + feature_flags());
33 33
34 34 step("collect");
35 - let appimage = sh(h, "ls -t " + r + "/target/release/bundle/appimage/*.AppImage | head -1").stdout_tail.trim();
36 - if appimage == "" { throw "no .AppImage produced for " + target(); }
35 + let appimage = resolve_artifact(h, r + "/target/release/bundle/appimage/*.AppImage");
37 36 collect(h, appimage, "balanced_breakfast", v);
38 - let deb = sh(h, "ls -t " + r + "/target/release/bundle/deb/*.deb 2>/dev/null | head -1").stdout_tail.trim();
37 + let deb = resolve_artifact_opt(h, r + "/target/release/bundle/deb/*.deb");
39 38 if deb != "" { collect(h, deb, "balanced_breakfast", v); }
40 39 log("Balanced Breakfast " + target() + " v" + v + " collected.");