max / goingson
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
1 file changed,
+15 insertions,
-12 deletions
| @@ -4,35 +4,38 @@ | |||
| 4 | 4 | // on the Azure certificate-history requirement, see deploy.md). This recipe is | |
| 5 | 5 | // best-effort and has not been exercised end-to-end through Bento. | |
| 6 | 6 | // | |
| 7 | - | // Two Windows-specific deviations from the other recipes: | |
| 8 | - | // - The checkout lives at a Windows path, NOT the unix repo() value, so this | |
| 9 | - | // recipe hard-codes it and does not call repo(). | |
| 10 | - | // - Commands run through PowerShell over ssh; quoting is delicate. The | |
| 11 | - | // `passwords.ps1` profile supplies the signing env (mirrors deploy.md). | |
| 7 | + | // One Windows-specific deviation from the other recipes: commands run through | |
| 8 | + | // PowerShell over ssh, and quoting is delicate. The `passwords.ps1` profile | |
| 9 | + | // supplies the signing env (mirrors deploy.md). The checkout is at a Windows | |
| 10 | + | // path, but that is the topology's business now (`repo_by_host`), so repo() | |
| 11 | + | // answers it like anywhere else. | |
| 12 | 12 | // The .msi / NSIS .exe globs are handed to collect directly (windows-x86 is a | |
| 13 | 13 | // remote host, so collect leaves the glob unquoted for the remote shell). | |
| 14 | 14 | ||
| 15 | 15 | let h = build_host(); | |
| 16 | 16 | let v = version(); | |
| 17 | - | let win_repo = "C:/Users/me/Code/Apps/goingson"; | |
| 17 | + | let r = repo(); | |
| 18 | 18 | ||
| 19 | 19 | step("checkout"); | |
| 20 | - | sh_ok(h, "powershell -Command \"cd " + win_repo + "; git pull --ff-only\""); | |
| 20 | + | // Pin to the release tag v<version>, not whatever main is at pull time. The | |
| 21 | + | // same barrier every other target of this release passes. | |
| 22 | + | let sha = checkout_sha(h); | |
| 23 | + | log("pinned " + h + " to v" + v + " @ " + sha); | |
| 21 | 24 | ||
| 22 | 25 | // Gate: no artifact is built from code that fails clippy or its tests. It runs | |
| 23 | 26 | // on this target's own build host, so a break confined to one platform is | |
| 24 | 27 | // caught where it would have shipped. | |
| 25 | 28 | 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() + "\""); | |
| 29 | + | sh_ok(h, "powershell -Command \"cd " + r + "; cargo clippy --workspace --all-targets " + feature_flags() + " -- -D warnings\""); | |
| 30 | + | sh_ok(h, "powershell -Command \"cd " + r + "; cargo test --workspace " + feature_flags() + "\""); | |
| 28 | 31 | ||
| 29 | 32 | step("build"); | |
| 30 | 33 | sh_ok(h, "powershell -Command \". C:\\Users\\me\\.tauri\\passwords.ps1; " + | |
| 31 | 34 | "$env:TAURI_SIGNING_PRIVATE_KEY='C:\\Users\\me\\.tauri\\goingson.key'; " + | |
| 32 | 35 | "$env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD=$env:GOINGSON_TAURI_PASSWORD; " + | |
| 33 | - | "cd " + win_repo + "; cargo tauri build\""); | |
| 36 | + | "cd " + r + "; cargo tauri build\""); | |
| 34 | 37 | ||
| 35 | 38 | step("collect"); | |
| 36 | - | collect(h, win_repo + "/target/release/bundle/msi/*.msi", "goingson", v); | |
| 37 | - | collect(h, win_repo + "/target/release/bundle/nsis/*-setup.exe", "goingson", v); | |
| 39 | + | collect(h, r + "/target/release/bundle/msi/*.msi", "goingson", v); | |
| 40 | + | collect(h, r + "/target/release/bundle/nsis/*-setup.exe", "goingson", v); | |
| 38 | 41 | log("GoingsOn windows/x86_64 v" + v + " collected (unsigned, unsupported)."); |