46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
# Build and release targets
|
|||
|
|
|
||
|
|
Install stable Rust, Node 22+, and native Tauri development prerequisites.
|
||
|
|
On Windows install Visual Studio C++ build tools and WebView2. Linux needs
|
||
|
|
WebKitGTK 4.1 development libraries. macOS needs Xcode command-line tools.
|
||
|
|
See https://v2.tauri.app/start/prerequisites/ for platform details.
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
cargo test --workspace --locked
|
||
|
|
cd apps/desktop
|
||
|
|
npm ci
|
||
|
|
npm run build
|
||
|
|
# Windows VM: all rendering and inference tests must use CPU.
|
||
|
|
$env:WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS='--disable-gpu'
|
||
|
|
npm run tauri -- dev
|
||
|
|
```
|
||
|
|
|
||
|
|
The desktop is a standalone Cargo workspace; validate it separately:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
cargo test --manifest-path apps/desktop/src-tauri/Cargo.toml --locked
|
||
|
|
```
|
||
|
|
|
||
|
|
## Cross-compilation
|
||
|
|
|
||
|
|
The Rust engine has no GUI dependency. Add the destination Rust target with
|
||
|
|
`rustup target add TARGET`, then use `cargo build -p searchi-cli --target TARGET`.
|
||
|
|
This requires the target linker, C toolchain and SDK because SQLite is compiled
|
||
|
|
from bundled C. Target installation alone is insufficient. Document each
|
||
|
|
verified host/target pair before treating it as supported.
|
||
|
|
|
||
|
|
Desktop builds also need the platform webview libraries and packaging tools.
|
||
|
|
Use native runners for dependable release builds. macOS signing/notarization
|
||
|
|
needs Apple credentials and tooling. Windows installer cross-builds have
|
||
|
|
additional Tauri caveats: https://v2.tauri.app/distribute/windows-installer/.
|
||
|
|
|
||
|
|
## CI and packaging gates
|
||
|
|
|
||
|
|
Both Gitea and GitHub workflow files are provided. Gitea needs registered runners
|
||
|
|
matching the configured OS labels; this repository does not provision runners.
|
||
|
|
No Linux/macOS checks are considered passed until actual job evidence exists.
|
||
|
|
|
||
|
|
Current bundles are disabled during development. Enable installers only after
|
||
|
|
packaging icons, native smoke tests, CPU model distribution and license review,
|
||
|
|
upgrade/migration tests, signatures and rollback checks are ready. Do not place
|
||
|
|
private signing keys, repository tokens or model credentials in source control.
|