Building and releasing
Este conteúdo não está disponível em sua língua ainda.
Host dependencies
Section titled “Host dependencies”All platforms need Node 22+, pnpm 11.17.0 (pinned in package.json), Rust
stable, Java 21+ and the Tauri CLI 2.x
(cargo install tauri-cli --version "^2.0" --locked).
Ubuntu 22.04:
sudo apt-get updatesudo apt-get install --no-install-recommends -y libwebkit2gtk-4.1-dev libgtk-3-dev librsvg2-dev patchelf libssl-dev libfuse2 xdg-utils file libayatana-appindicator3-dev unixodbc-devWindows needs Visual Studio Build Tools and the WebView2 Runtime.
Bundled resources
Section titled “Bundled resources”Release builds bundle Node, a JRE, the backend and the JVM sidecar. Prepare them on the host you are building for:
pnpm install --frozen-lockfilepnpm prepare:resourcespnpm validate:resourcesprepare:resources builds the sidecar JAR with the Gradle wrapper and stages:
apps/desktop/src-tauri/resources/backend/index.mjsapps/desktop/src-tauri/resources/runtime/node/node # node.exe on Windowsapps/desktop/src-tauri/resources/runtime/jre/bin/javaapps/desktop/src-tauri/resources/sidecar/omni-sql-sidecar.jarBuilds target the host platform and architecture only: native Node addons cannot be reused across architectures, so cross-target preparation is rejected.
The backend bundle (pnpm --filter @omni-sql/backend build, producing
packages/backend/dist/index.mjs) inlines pure JavaScript drivers. Its
external-layout.json lists the native packages copied beside it:
@napi-rs/keyring, oracledb, odbc and @polyglot-sql/sdk (with its WASM).
Tauri build
Section titled “Tauri build”pnpm build:tauriThis runs resource preparation, validation and the Vite build, then bundles.
Outputs land in apps/desktop/src-tauri/target/release/bundle/.
Release workflow
Section titled “Release workflow”- Put user-facing notes in
docs/releases/vX.Y.Z.md(see the template), ending with a Full Changelog compare link, inside the PR so the merge commit is the tagged commit. - After merging, push the tag
vX.Y.Zon the merge commit right away. - The workflow waits for CI on
mainfor that exact commit (typecheck, lint, coverage, SonarCloud, database integration), then builds on Windows x64, Linux x64 and macOS arm64/x64. It fails without the release notes file.
Published assets: Windows .exe and x64-portable.zip, Linux .deb, macOS
.dmg, updater archives and signatures, latest.json and SHA256SUMS. The
release notes become the GitHub Release body.
Versioning: features bump the minor version and reset the patch; fixes-only releases bump the patch. Never overwrite a pushed release tag.
The updater needs the TAURI_SIGNING_PRIVATE_KEY repository secret (the full
private key) and, if the key has a password, TAURI_SIGNING_PRIVATE_KEY_PASSWORD.
Keep an offline backup: losing the key prevents existing installations from
accepting updates. The public key in tauri.conf.json is safe to commit.