2.8 KiB
2.8 KiB
Local Desktop Build And Smoke Runbook
Date: 2026-03-27 Owner: Senior Backend Engineer
Goal
Provide one repeatable local build and smoke path that any engineer or QA can run against a seeded Redis fixture.
Prerequisites
- Rust 1.85+
- Node.js 24+
pnpm10+- Docker CLI with permission to run containers
- Linux desktop build prerequisites for Tauri, including WebKitGTK and GTK3 development packages
Standard Commands
pnpm install
cargo test -p redis-core
pnpm run desktop:build
pnpm run desktop:tauri:build
Expected package output path on Linux after a successful Tauri build:
target/release/bundle/
Linux preflight checks for native desktop libraries:
pkg-config --modversion gtk+-3.0
pkg-config --modversion webkit2gtk-4.1
pkg-config --modversion libsoup-3.0
All three commands should return a version. If any of them fail, pnpm run desktop:tauri:build is still environment-blocked even if the repository scripts are correct.
Local Redis Fixture
Start and seed a deterministic Redis instance on 127.0.0.1:6380:
./scripts/redis-fixture/start.sh
./scripts/redis-fixture/seed.sh
Stop and remove the fixture:
./scripts/redis-fixture/stop.sh
Seeded keys:
smoke:stringsmoke:string:ttlsmoke:hashsmoke:listsmoke:setsmoke:zsetsmoke:stream
Linux Smoke Steps
- Run
./scripts/redis-fixture/start.sh. - Run
./scripts/redis-fixture/seed.sh. - Launch
pnpm run desktop:tauri:dev. - In the desktop app, connect to host
127.0.0.1, port6380, database0, no password, TLS disabled. - Verify the desktop window opens, app version plus runtime mode are visible in the header, and the connection test succeeds.
- Verify the command console can run a safe read, such as
PINGorGET smoke:string. - Verify the seeded keys appear with expected types and TTL state in the browser and inspector surfaces.
- Change TTL on
smoke:string:ttl, remove TTL from the same key, and confirm the updated TTL state is reflected in the inspector. - Capture screenshots or terminal output for build, launch, connection success, key browse, TTL update, and command execution. If screenshots are unavailable, copy the in-app QA snapshot text into the smoke log.
- Run
./scripts/redis-fixture/stop.shafter the session.
Current Validation Boundary
cargo test -p redis-corepasses in the current workspace.pnpm run desktop:buildpasses in the current workspace../scripts/redis-fixture/start.sh,./scripts/redis-fixture/seed.sh, and./scripts/redis-fixture/stop.shpass in the current workspace.pnpm run desktop:tauri:buildnow produces Linux.deband.rpmartifacts undertarget/release/bundle/.- The same Tauri build still fails in its AppImage stage with
io: Connection reset by peer (os error 104), so AppImage should be treated as not yet verified.