101 lines
2.8 KiB
Markdown
101 lines
2.8 KiB
Markdown
# Release Packaging and Behavior Testing (Windows)
|
|
|
|
## Artifact Layout
|
|
|
|
Current release package type: portable ZIP.
|
|
|
|
Expected contents:
|
|
|
|
- `sprimo-app.exe`
|
|
- `assets/sprite-packs/default/manifest.json`
|
|
- `assets/sprite-packs/default/sprite.png`
|
|
- `README.txt`
|
|
|
|
Generated outputs:
|
|
|
|
- `dist/sprimo-windows-x64-v<version>.zip`
|
|
- `dist/sprimo-windows-x64-v<version>.zip.sha256`
|
|
|
|
## Commands
|
|
|
|
Use `just` for command entry:
|
|
|
|
```powershell
|
|
just check
|
|
just test
|
|
just build-release
|
|
just package-win
|
|
just smoke-win
|
|
```
|
|
|
|
`just package-win` calls `scripts/package_windows.py package`.
|
|
`just smoke-win` calls `scripts/package_windows.py smoke`.
|
|
|
|
## Behavior Test Checklist (Packaged App)
|
|
|
|
Run tests from an unpacked ZIP folder, not from the workspace run.
|
|
|
|
1. Launch `sprimo-app.exe`; verify default sprite renders.
|
|
2. Verify no terminal window appears when launching release build by double-click.
|
|
3. Verify global hotkey recovery (`Ctrl+Alt+P`) forces interactive mode.
|
|
4. Verify click-through and always-on-top toggles via API commands.
|
|
5. Verify `/v1/health` and `/v1/state` behavior with auth.
|
|
6. Verify `SetSpritePack`:
|
|
- valid pack switches runtime visuals
|
|
- invalid pack keeps current visuals and sets `last_error`
|
|
7. Restart app and verify persisted config behavior.
|
|
8. Confirm overlay background is transparent (desktop visible behind non-sprite pixels).
|
|
9. Confirm no magenta matte remains around sprite in default pack.
|
|
|
|
## Test Log Template
|
|
|
|
- Date:
|
|
- Artifact:
|
|
- Commit:
|
|
- Tester:
|
|
- Result:
|
|
- Notes:
|
|
|
|
## Issue Evidence Gate
|
|
|
|
Before release sign-off for a bug fix:
|
|
|
|
1. Link the issue file (`issues/issueN.md`) in the test log.
|
|
2. Ensure before/after screenshot evidence is referenced from the issue:
|
|
- before: `issues/screenshots/issueN-before-YYYYMMDD-HHMMSS.png`
|
|
- after: `issues/screenshots/issueN-after-YYYYMMDD-HHMMSS.png`
|
|
3. Record verification commands and outcomes in the issue:
|
|
- `cargo check --workspace`
|
|
- `cargo test --workspace`
|
|
- `just qa-validate`
|
|
|
|
Legacy issues may reference `issues/screenshots/issueN.png` as before evidence.
|
|
|
|
## Tauri Runtime Behavior Testing
|
|
|
|
Authoritative workflow: `docs/TAURI_RUNTIME_TESTING.md`.
|
|
|
|
### Workspace Mode (Required Now)
|
|
|
|
1. `just build-tauri-ui`
|
|
2. `just check-tauri`
|
|
3. `just check-runtime-core`
|
|
4. `just run-tauri` (smoke and runtime observation)
|
|
5. Verify invoke/event contract behavior:
|
|
- `current_state`
|
|
- `load_active_sprite_pack`
|
|
- `runtime:snapshot`
|
|
6. Verify API/runtime contract behavior against tauri process:
|
|
- `/v1/health`
|
|
- `/v1/state` with auth
|
|
- `/v1/command`
|
|
- `/v1/commands`
|
|
|
|
### Packaged Mode (Required Once Tauri Packaging Exists)
|
|
|
|
When tauri packaging automation is available, repeat runtime behavior checks on packaged artifacts:
|
|
|
|
1. Launch packaged tauri app.
|
|
2. Re-run invoke/event/API checks from workspace mode.
|
|
3. Attach before/after screenshots and command summaries in linked issue.
|