| 1 |
// GoingsOn: Windows (x86_64) release recipe for Bento. |
| 2 |
// |
| 3 |
// UNSUPPORTED at launch: Windows binaries ship unsigned (code signing is blocked |
| 4 |
// on the Azure certificate-history requirement, see deploy.md). This recipe is |
| 5 |
// best-effort and has not been exercised end-to-end through Bento. |
| 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). |
| 12 |
// The .msi / NSIS .exe globs are handed to collect directly (windows-x86 is a |
| 13 |
// remote host, so collect leaves the glob unquoted for the remote shell). |
| 14 |
|
| 15 |
let h = build_host(); |
| 16 |
let v = version(); |
| 17 |
let win_repo = "C:/Users/me/Code/Apps/goingson"; |
| 18 |
|
| 19 |
step("checkout"); |
| 20 |
sh_ok(h, "powershell -Command \"cd " + win_repo + "; git pull --ff-only\""); |
| 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 |
|
| 29 |
step("build"); |
| 30 |
sh_ok(h, "powershell -Command \". C:\\Users\\me\\.tauri\\passwords.ps1; " + |
| 31 |
"$env:TAURI_SIGNING_PRIVATE_KEY='C:\\Users\\me\\.tauri\\goingson.key'; " + |
| 32 |
"$env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD=$env:GOINGSON_TAURI_PASSWORD; " + |
| 33 |
"cd " + win_repo + "; cargo tauri build\""); |
| 34 |
|
| 35 |
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); |
| 38 |
log("GoingsOn windows/x86_64 v" + v + " collected (unsigned, unsupported)."); |
| 39 |
|