Files
Sprimo/docs/RELEASE_TESTING.md
2026-02-13 11:22:46 +08:00

3.4 KiB

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:

just check
just test
just build-release-bevy
just package-win-bevy
just smoke-win-bevy
just build-release-tauri
just package-win-tauri
just smoke-win-tauri

Compatibility aliases:

  • just build-release -> Bevy release build.
  • just package-win -> Bevy package.
  • just smoke-win -> Bevy smoke package check.

Packaging script target selection:

  • Bevy: python scripts/package_windows.py package --frontend bevy
  • Tauri: python scripts/package_windows.py package --frontend tauri

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 visibility and top-most recovery.
  4. Verify SetFlags applies always-on-top and visibility 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.
  10. Confirm default startup window footprint is reduced (416x416 before runtime pack resize).

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
  1. 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
  1. Verify API/runtime contract behavior against tauri process:
  • /v1/health
  • /v1/state with auth
  • /v1/command
  • /v1/commands
  1. Verify tauri frameless drag:
  • left-mouse drag moves window
  • window remains non-resizable
  • moved position updates runtime snapshot x/y and persists after restart

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.