Core CI / core (ubuntu-latest) (push) Failing after 1m22s
Core CI / core (macos-latest) (push) Canceled after 0s
Core CI / core (windows-latest) (push) Canceled after 0s
Core CI / desktop (ubuntu-latest) (push) Successful in 3m46s
Core CI / desktop (macos-latest) (push) Canceled after 0s
Core CI / desktop (windows-latest) (push) Canceled after 0s
47 lines
1.9 KiB
Markdown
47 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.
|