Skip to content

Testing And Releases

Riqqqque edited this page Jun 1, 2026 · 2 revisions

Testing And Releases

WindowAutoLayout releases are built through GitHub Actions and published to GitHub Releases.

Release Assets

Every tagged release should publish:

WindowAutoLayout_<version>_x64-setup.exe
WindowAutoLayout_<version>_x64-setup.exe.sha256
WindowAutoLayout_<version>_x64_en-US.msi
WindowAutoLayout_<version>_x64_en-US.msi.sha256

Latest release:

WindowAutoLayout Releases

Local Checks

Run before publishing changes:

npm run check
cd src-tauri
cargo fmt --check
cargo test
cd ..
npm run desktop:build

Install the built app locally:

powershell -ExecutionPolicy Bypass -File scripts\install-current.ps1 -SkipBuild

The install helper checks:

  • installer path
  • installer SHA256
  • uninstall entry
  • installed exe path
  • installed version
  • launch smoke, unless skipped

OBS Installed-App Test

For any OBS, tray, startup, lock, or restore change:

  1. Install the built app.
  2. Keep OBS running.
  3. Minimize OBS to the tray.
  4. Stop any running WindowAutoLayout process.
  5. Start installed WindowAutoLayout with --startup-restore.
  6. Confirm OBS process count stays at one.
  7. Confirm no OBS is already running prompt appears.
  8. Confirm the real OBS main window appears.
  9. Confirm the OBS window is not white or blank.
  10. Confirm Logs show restore success.

Manual Test Areas

Before a public release, cover:

  • installed app launch
  • monitor detection
  • negative monitor coordinates
  • layout capture
  • profile restore
  • OBS visible restore
  • OBS minimized restore
  • OBS tray restore
  • Discord delayed window restore
  • closed app launch
  • startup restore
  • tray menu restore
  • hotkey restore
  • layout lock after Show Desktop
  • bad executable path reporting
  • corrupted config backup

Tag Flow

Version fields must match:

  • package.json
  • package-lock.json
  • src-tauri/tauri.conf.json
  • src-tauri/Cargo.toml
  • src-tauri/Cargo.lock
  • src/lib/api.ts
  • examples/windowautolayout.example.json
  • CHANGELOG.md

Push main and then the matching tag:

git push origin main
git tag v0.1.10
git push origin v0.1.10

The workflow validates the tag against package.json, runs checks, builds the Windows bundles, writes checksums, uploads artifacts, and publishes the tagged release.

Verify Published Release

Use:

gh release view v0.1.10 --repo Riqqqque/WindowAutoLayout --json url,tagName,name,isDraft,isPrerelease,assets

Confirm:

  • release is not draft
  • release is not prerelease unless intended
  • setup exe is present
  • MSI is present
  • both checksum files are present

Clone this wiki locally