Reference: Release and Build¶
This page documents local build commands and CI release pipelines.
Local Build Helper¶
Primary script: build.py
Supported options:
- app name override (
--name) - clean build (
--clean) - onefile mode (
--onefile) - console mode (
--console) - zip packaging (
--zip) - dmg packaging on macOS (
--dmg)
Standard Local Builds¶
Desktop build (cross-platform style)¶
python build.py --name SafeModeSecurity --clean
Build + zip artifact¶
python build.py --name SafeModeSecurity --clean --zip
Build + zip + dmg (macOS)¶
python build.py --name SafeModeSecurity --clean --zip --dmg
macOS Scripted Build¶
Dedicated script:
scripts/release/build_macos_dist_dmg.sh
It builds app bundle via PyInstaller, creates DMG, and writes SHA256 sidecar.
Windows Build Notes¶
There is no standalone scripts/release/build_windows_exe.ps1 in current tree.
Windows artifacts are generated by:
build.py- CI workflows (
release-build.ymlandci.ymlbuild-installers job)
CI Release Pipelines¶
release-build.yml¶
- Builds macOS + Windows artifacts.
- Supports manual publish toggle.
- Publishes release assets and checksum file.
release.yml (legacy overlap)¶
- Also runs on tag push.
- Overlaps with release-build intent.
Recommendation:
- converge on a single release pipeline to reduce maintenance drift.
Release Checklist¶
- Run tests locally.
- Run docs strict build.
- Validate startup/certificate/proxy flow on target OS.
- Build artifacts and verify checksums.
- Publish tag and release notes.