ci: build versioned installers across desktop platforms#1

merged
main
chore/setup-ci-v013
opened6h agobySScreen

Mirrors GitHub PR #5.

What changed

Add pull-request CI that tests, builds and packages Windows x64, macOS Apple silicon and Intel, and Linux x64 installers. Use standard hosted runners, cancel superseded runs, limit jobs to 20 minutes and retain installers for one day.

Bump the release version from 0.1.2 to 0.1.3. Each CI run and rerun receives a distinct application version and filename, such as 0.1.3-ci.123456.2. Keep both root lockfile versions in sync. Matching release tags retain the committed version and reuse the same four-platform build jobs before publishing installers and checksums. PR builds cannot publish.

Before and after

Screenshots not applicable: no visible change.

Previously, CI packaged only Windows for releases. The new workflow validates pull requests and creates all four installer candidates. Windows and macOS also run an isolated startup check before packaging.

Verification

  • npm test: 20/20 passed, including run/rerun versioning, tag rejection and metadata consistency.
  • npm run build: passed TypeScript checking, renderer build and desktop bundling.
  • Workflow assertions, documentation links and git diff --check: passed.
  • Hosted CI run 38028930066: all four platform jobs passed tests (20/20 each), build, packaging and artifact upload on 4d5d095. All four installer candidates use 0.1.3-ci.38028930066.1.
  • Windows and both macOS startup logs reported startup: passed, database opened, renderer loaded and API isolation. These checks launched the production build before packaging.
  • Packaged installer installation, Linux runtime, real mail-provider operations and downloaded-app trust acceptance remain unverified. CI artifacts expire after one day.

Risks or follow-up

Do not merge this PR. No release has been published. Installers remain unsigned, and macOS packages are not notarized. Standard runner execution is free for this public repository; artifact storage can incur charges above the owner's shared allowance. One-day retention limits storage use but does not guarantee a zero bill.

Model(s): GPT-6.1-Sol, GPT-6-Luna

Harness: Codex through T3 Code

SScreenopened·6h ago