StratoSort Release Preflight
Run this before creating a beta/release tag.
Quick check (fast)
Use this to quickly catch native runtime breakage:
npm run preflight:release:quick
This verifies Electron-runtime loading for:
sharpbetter-sqlite3@napi-rs/canvaslz4-napinode-llama-cpp
Full check (recommended before tag)
Use this before every beta/release tag:
npm run preflight:release
On the current platform this runs:
- Native module verification (
verify:native-modules) - Clean
release/build - Platform dist build (for example,
dist:winon Windows) - Packaged artifact verification (
verify-packaged-artifacts)
Wizard regression checks
Run these to ensure first-install/model wizard flow did not regress:
npx jest --config test/jest.config.js test/components/WelcomePhase.test.js test/components/ModelSetupWizard.test.js
npx jest --config test/jest.config.js test/components/PhaseRenderer.test.js test/phaseTransitions.test.js
Pass criteria
Do not tag until all of the following are true:
- Preflight command exits with code
0 - Wizard/phase regression suites pass
- Dist artifacts are generated under
release/build - No unexpected warnings/errors in command output
CI workflows that enforce these checks
/.github/workflows/release.yml(Windows release)/.github/workflows/mac-release.yml(macOS release)/.github/workflows/manual-dist.yml(manual dist builds)
Notes for unsigned mode
If signing/notarization secrets are not set:
- Windows and mac builds still produce unsigned artifacts
- Tag-triggered workflows still publish a normal GitHub release
- Security prompts are expected (SmartScreen/Gatekeeper)
- Native and packaged integrity checks still run