39 lines
2.0 KiB
Markdown
39 lines
2.0 KiB
Markdown
# HAC-15 Desktop Build, Packaging, And Smoke Plan
|
|
|
|
Date: 2026-03-27 UTC
|
|
Owner: Senior Backend Engineer
|
|
Issue: HAC-15
|
|
|
|
## Goal
|
|
|
|
Make the desktop repository usable through one stable build path, one stable package path, and one repeatable local Redis smoke path.
|
|
|
|
## Current Findings
|
|
|
|
- The original `tauri.conf.json` pre-build and pre-dev commands assumed the wrong working directory and caused `tauri build` to fail before the real Rust/Tauri flow began.
|
|
- The repo already had a valid desktop frontend build and a validated shared Rust backend core, but no stable `pnpm` workspace setup for the desktop shell.
|
|
- QA had explicit blockers around missing seed data, missing Docker or smoke automation, and missing reusable build instructions.
|
|
|
|
## Changes In This Pass
|
|
|
|
1. Standardize the workspace on `pnpm` by adding `packageManager`, `pnpm-workspace.yaml`, and root desktop scripts.
|
|
2. Fix Tauri `beforeDevCommand` and `beforeBuildCommand` so they execute against the desktop workspace directly.
|
|
3. Add a Docker-backed Redis fixture with start, seed, and stop scripts.
|
|
4. Add a local desktop smoke runbook and refresh README and QA evidence docs around the new commands and fixture path.
|
|
|
|
## Verification
|
|
|
|
- Passed: `cargo test -p redis-core`
|
|
- Passed: `pnpm install --lockfile-only`
|
|
- Passed: `pnpm run desktop:build`
|
|
- Passed: `./scripts/redis-fixture/start.sh`
|
|
- Passed: `./scripts/redis-fixture/seed.sh`
|
|
- Passed: `./scripts/redis-fixture/stop.sh`
|
|
- In progress: `pnpm run desktop:tauri:build` now clears the pre-build script failure and reaches Cargo dependency download and compile steps
|
|
|
|
## Remaining Risk
|
|
|
|
- This heartbeat has not yet produced a saved unsigned package artifact for Linux, macOS, or Windows.
|
|
- First-run Cargo package downloads remain slow and can serialize on the shared package-cache lock, so package verification should be rerun in a clean single-build window.
|
|
- End-to-end smoke evidence inside the desktop UI still depends on frontend surfaces that are only partially implemented.
|