Skip to main content

max / goingson

Gate Bento releases on clippy and tests Each recipe runs a prebuild step before build: clippy -D warnings, then the test suite, with the app's release features. sh_ok aborts the recipe on failure and a failed step bars publish, so no artifact is built or shipped from code that fails either. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-22 04:18 UTC
Commit: 94d2390c8b4511d0e66711ce9d21c4a6bdbd73fe
Parent: d2a95ca
4 files changed, +28 insertions, -0 deletions
@@ -14,6 +14,13 @@ let r = repo();
14 14 step("checkout");
15 15 sh_ok(h, "cd " + r + " && git pull --ff-only");
16 16
17 + // Gate: no artifact is built from code that fails clippy or its tests. It runs
18 + // on this target's own build host, so a break confined to one platform is
19 + // caught where it would have shipped.
20 + step("prebuild");
21 + sh_ok(h, "cd " + r + " && cargo clippy --workspace --all-targets " + feature_flags() + " -- -D warnings");
22 + sh_ok(h, "cd " + r + " && cargo test --workspace " + feature_flags());
23 +
17 24 step("build");
18 25 sh_ok(h, "cd " + r + " && ./dist/release-ios.sh");
19 26 log("GoingsOn iOS v" + v + " uploaded to TestFlight — appears in App Store Connect within ~30 min.");
@@ -14,6 +14,13 @@ let r = repo();
14 14 step("checkout");
15 15 sh_ok(h, "cd " + r + " && git pull --ff-only");
16 16
17 + // Gate: no artifact is built from code that fails clippy or its tests. It runs
18 + // on this target's own build host, so a break confined to one platform is
19 + // caught where it would have shipped.
20 + step("prebuild");
21 + sh_ok(h, "cd " + r + " && cargo clippy --workspace --all-targets " + feature_flags() + " -- -D warnings");
22 + sh_ok(h, "cd " + r + " && cargo test --workspace " + feature_flags());
23 +
17 24 step("build");
18 25 sh_ok(h, "cd " + r + " && . ~/.tauri/passwords.env && " +
19 26 "TAURI_SIGNING_PRIVATE_KEY=$HOME/.tauri/goingson.key " +
@@ -16,6 +16,13 @@ step("checkout");
16 16 sh_ok(h, "cd " + r + " && git pull --ff-only");
17 17
18 18 // release-macos.sh: build, sign (ephemeral build keychain), notarize, staple.
19 + // Gate: no artifact is built from code that fails clippy or its tests. It runs
20 + // on this target's own build host, so a break confined to one platform is
21 + // caught where it would have shipped.
22 + step("prebuild");
23 + sh_ok(h, "cd " + r + " && cargo clippy --workspace --all-targets " + feature_flags() + " -- -D warnings");
24 + sh_ok(h, "cd " + r + " && cargo test --workspace " + feature_flags());
25 +
19 26 step("build");
20 27 sh_ok(h, "cd " + r + " && . ~/.tauri/passwords.env && ./dist/release-macos.sh --keychain");
21 28
@@ -19,6 +19,13 @@ let win_repo = "C:/Users/me/Code/Apps/goingson";
19 19 step("checkout");
20 20 sh_ok(h, "powershell -Command \"cd " + win_repo + "; git pull --ff-only\"");
21 21
22 + // Gate: no artifact is built from code that fails clippy or its tests. It runs
23 + // on this target's own build host, so a break confined to one platform is
24 + // caught where it would have shipped.
25 + step("prebuild");
26 + sh_ok(h, "powershell -Command \"cd " + win_repo + "; cargo clippy --workspace --all-targets " + feature_flags() + " -- -D warnings\"");
27 + sh_ok(h, "powershell -Command \"cd " + win_repo + "; cargo test --workspace " + feature_flags() + "\"");
28 +
22 29 step("build");
23 30 sh_ok(h, "powershell -Command \". C:\\Users\\me\\.tauri\\passwords.ps1; " +
24 31 "$env:TAURI_SIGNING_PRIVATE_KEY='C:\\Users\\me\\.tauri\\goingson.key'; " +