-
Notifications
You must be signed in to change notification settings - Fork 0
Testing And Releases
WindowAutoLayout is tested as source, a packaged Windows bundle, and an installed tray application. A green compilation alone is not a release approval.
From the repository root:
npm ci --no-audit --no-fund
npm audit --audit-level=moderate
npm run check
npm run build
cd src-tauri
cargo fmt --all -- --check
cargo check --all-targets
cargo test --all-targets
cargo clippy --all-targets -- -D warnings
cd ..
npm run desktop:buildRun a RustSec audit with a project-local cargo-audit binary when available. Separate maintenance warnings outside the Windows target graph from real vulnerabilities.
powershell -ExecutionPolicy Bypass -File scripts\install-current.ps1 -SkipBuildThe helper verifies the installer path and SHA256, Windows uninstall entry, installed exe, installed version, and startup/tray launch smoke.
Before release:
- Open every page at
1180x760and the980x640minimum. - Exercise save, capture, delete, restore, automatic toggle, and every tray command.
- Close to tray and confirm no owned WebView2 child remains.
- Sample tray-only CPU for at least 20 seconds.
- Confirm one WindowAutoLayout process and Below normal priority.
- Verify the startup Run command points to the installed exe with
--startup-restore. - Confirm user profiles survive the update.
Test a profile on mixed-scale displays, including a 4K monitor with negative desktop coordinates. Compare current DWM extended frame bounds to saved physical rectangles and require no more than one pixel of error.
Repeat after:
- moving all windows away
- minimizing a target
- hiding a tray target
- launching a fully closed target
- changing resolution
- moving/resizing the taskbar
- waiting at least 30 seconds after an Electron app launches
For every OBS, tray, launch, presentation, or window-action change:
- Use the installed build.
- Leave OBS running with its main window hidden in the tray.
- Confirm one
obs64.exeprocess before restore. - Run Restore from the tray and from the app.
- Do not click OBS afterward.
- Confirm the full OBS client paints on its own.
- Confirm final DWM bounds match the saved layout.
- Confirm no duplicate-process prompt and still one OBS process.
- Confirm Logs report success.
An OBS path change is not release-ready when this live installed-app case cannot be run.
- confirm there are no global input hooks, raw-input registrations, system hotkeys, or synthetic input calls
- verify Automatic restore pauses while Valorant or another game/fullscreen app is foreground
- verify a pending desktop restore cancels if the game becomes foreground again
- confirm automatic restores do not launch closed apps or force focus
- confirm repeated shell events coalesce into one restore
- verify CPU returns to idle after restore
Update together:
package.jsonpackage-lock.jsonsrc-tauri/tauri.conf.jsonsrc-tauri/Cargo.tomlsrc-tauri/Cargo.locksrc/lib/api.tsexamples/windowautolayout.example.jsonCHANGELOG.md
For version 0.1.28, the release tag would be v0.1.28.
Do not create the public tag until all are true:
-
LICENSEcontains final distribution terms - NSIS and MSI installers are Authenticode-signed and timestamped
- the updater channel verifies signed artifacts
- all source, dependency, installed-runtime, exact-placement, OBS, and game-safety gates pass
The GitHub workflow intentionally rejects a release tag while the pending no-redistribution license text remains.
Expected assets:
WindowAutoLayout_<version>_x64-setup.exe
WindowAutoLayout_<version>_x64-setup.exe.sha256
WindowAutoLayout_<version>_x64_en-US.msi
WindowAutoLayout_<version>_x64_en-US.msi.sha256
After publication, verify the release page, asset hashes, installer signatures, clean install, update install, startup launch, and tray-only runtime from the downloaded artifact.
WindowAutoLayout documentation. Repository: https://github.com/Riqqqque/WindowAutoLayout