Desktop releases are built by GitHub Actions for macOS, Windows, and Linux. A semantic-version tag is the release source of truth; committed package versions remain 0.0.0-dev and are stamped only inside the build jobs.
-
Make sure
mainis clean, pushed, and passing its required checks. -
Create and push a semantic-version tag:
git tag -a v1.0.0 -m "OmniRush.ai v1.0.0" git push origin v1.0.0 -
Watch the Desktop Release workflow. It creates a draft release, builds each platform independently, uploads the installers, generates
SHA256SUMS.txt, and publishes only after every build succeeds.
The workflow publishes:
- macOS Apple Silicon: DMG and ZIP
- macOS Intel: DMG and ZIP
- Windows x64: NSIS EXE installer
- Linux x64: AppImage and compressed tarball
Run Desktop Release manually in GitHub Actions and provide the existing tag. Assets are replaced by filename, allowing a failed build to be repaired without creating another release.
Build on the target operating system when possible:
pnpm install --frozen-lockfile
node scripts/release/stamp-version.mjs --version 1.0.0
pnpm --filter @omnirush/desktop build:electron
pnpm --dir apps/desktop exec electron-builder --config electron-builder.yml --publish neverLocal version stamping changes package manifests temporarily. Restore those files before committing; release versions belong to tags, not source files.
The public workflow produces community builds without requiring private signing credentials. Configure Apple notarization and Windows code signing before presenting installers as verified publisher builds.