max / goingson
1 file changed,
+56 insertions,
-0 deletions
| @@ -0,0 +1,56 @@ | |||
| 1 | + | # GoingsOn — Build & Deploy | |
| 2 | + | ||
| 3 | + | See `_meta/docs/deploy.md` for shared infrastructure (machines, git remotes, collection layout, shared deps). | |
| 4 | + | ||
| 5 | + | ## Artifacts | |
| 6 | + | ||
| 7 | + | | Platform | Artifact | Machine | | |
| 8 | + | |----------|----------|---------| | |
| 9 | + | | macOS aarch64 | .dmg | local | | |
| 10 | + | | Linux aarch64 | AppImage, .deb, .rpm | astra | | |
| 11 | + | | Linux x86_64 | AppImage, .deb, .rpm | pop-os | | |
| 12 | + | | Windows x86_64 | .msi, NSIS .exe | windows-x86 | | |
| 13 | + | ||
| 14 | + | ## Build Commands | |
| 15 | + | ||
| 16 | + | ```bash | |
| 17 | + | # macOS (local): | |
| 18 | + | cd ~/Code/Apps/goingson && cargo tauri build | |
| 19 | + | cp target/release/bundle/dmg/*.dmg ~/Dist/goingson/macos/ | |
| 20 | + | ||
| 21 | + | # Linux aarch64 (astra): | |
| 22 | + | ssh astra "source ~/.cargo/env && cd ~/Code/Apps/goingson && git pull && cargo tauri build" | |
| 23 | + | scp astra:~/Code/Apps/goingson/target/release/bundle/appimage/*.AppImage ~/Dist/goingson/linux-aarch64/ | |
| 24 | + | scp astra:~/Code/Apps/goingson/target/release/bundle/deb/*.deb ~/Dist/goingson/linux-aarch64/ | |
| 25 | + | ||
| 26 | + | # Linux x86_64 (pop-os): | |
| 27 | + | ssh pop-os "source ~/.cargo/env && cd ~/Code/Apps/goingson && git pull && cargo tauri build" | |
| 28 | + | scp pop-os:~/Code/Apps/goingson/target/release/bundle/appimage/*.AppImage ~/Dist/goingson/linux-x86_64/ | |
| 29 | + | scp pop-os:~/Code/Apps/goingson/target/release/bundle/deb/*.deb ~/Dist/goingson/linux-x86_64/ | |
| 30 | + | ||
| 31 | + | # Windows (windows-x86): | |
| 32 | + | ssh me@windows-x86 "cd C:\Users\me\Code\Apps\goingson; git pull; cargo tauri build" | |
| 33 | + | scp me@windows-x86:"C:/Users/me/Code/Apps/goingson/target/release/bundle/msi/*.msi" ~/Dist/goingson/windows/ | |
| 34 | + | scp me@windows-x86:"C:/Users/me/Code/Apps/goingson/target/release/bundle/nsis/*-setup.exe" ~/Dist/goingson/windows/ | |
| 35 | + | ``` | |
| 36 | + | ||
| 37 | + | ## Project-Specific Notes | |
| 38 | + | ||
| 39 | + | - `beforeBuildCommand` uses `node src-tauri/frontend/build-css.js` (cross-platform). | |
| 40 | + | - OTA updates: signed Tauri updater artifacts are uploaded to S3 via the MNW dashboard. | |
| 41 | + | - Version is in `src-tauri/tauri.conf.json`. | |
| 42 | + | - Windows builds are unsigned (code signing blocked on Azure certificate history requirement). | |
| 43 | + | ||
| 44 | + | ## Troubleshooting | |
| 45 | + | ||
| 46 | + | ### beforeBuildCommand on Windows | |
| 47 | + | ||
| 48 | + | The CSS build step uses `node build-css.js` (not a shell script). If you see a build fail mentioning `build-css.sh`, the `tauri.conf.json` has regressed — it must use the `.js` version for Windows compatibility. Shell scripts cannot run on Windows without WSL. | |
| 49 | + | ||
| 50 | + | ### Node.js not found on Linux | |
| 51 | + | ||
| 52 | + | If `cargo tauri build` fails with "node: not found", ensure Node.js is in PATH for non-login shells. Add to `~/.bashrc` (not just `~/.profile`): | |
| 53 | + | ||
| 54 | + | ```bash | |
| 55 | + | export PATH="$HOME/.nvm/versions/node/v22.x.x/bin:$PATH" | |
| 56 | + | ``` |